0

我有几个烫伤作业,其中包含一堆常量和一些在所有作业中都是一致的函数。当我需要对其中一个进行更改时,我不想在 5 个不同的地方进行更改。我想创建一个可以存储这些东西的特征,但是我在将特征引用/导入到我的工作中时遇到了麻烦。

所以我有一个名为 constants.scala 的文件,其中包含:

 trait constants {a bunch of stuff defined here}

在我的一个名为 myJob.scala 的工作中,我尝试定义一个这样的类:

class TrxnAmts(args : Args) extends Job(args) with constants {
    All my other code goes here
}

我尝试在 HDFS 中运行 myJob,使用以下命令将 constants.scala 添加到类路径:

scalding/scripts/scald.rb --hdfs --cp /path/to/constants.scala /path/to/myJob.scala

constants.scala 出现在类路径中,但特征中没有任何内容被识别。我该如何进行这项工作?我需要编译constants.scala并引用该类还是先将其编译成jar?有没有更好的方法来解决这个问题?

对 OOP 不是很有经验,所以希望我不是在问一个非常基本/明显的问题。

谢谢。

4

1 回答 1

1

是的,您应该.jar在类路径中编译文件,而.scala不是.java. 使用例如SBT来构建它们。

于 2015-01-29T16:28:13.163 回答