我在Hadoop作业中收到了这个错误。
java.lang.NoSuchMethodException: <PackageName>.<ClassName>.<init>(<parameters>)
在大多数Scala代码中,您可以在编译时使用它。但是由于这个工作在运行时被调用,所以我在编译时没有捕获它。为什么Scala需要重复的构造函数? (java.lang.NoSuchMethodException)
我会认为默认参数会导致两个签名的构造函数被创建,一个采用单个参数。
class BasicDynamicBlocker(args: Args, evaluation: Boolean = false) extends Job(args) with HiveAccess {
//I NEEDED THIS TOO:
def this(args: Args) = {
this(args, false)
}
... }
我才知道,我需要声明使用this
重载的构造艰辛的道路。 (我想写出来,以防其他人帮助。) 我也有一个小问题。对我来说,这似乎还是多余的。 Scala语言的设计限制是否有这个要求?
一个很好的问题是:你如何调用构造函数? –