在一阶REPL下面的代码
import scala.beans.BeanProperty
class EmailAccount {
@scala.beans.BeanProperty var accountName: String = null
override def toString: String = {
return s"acct ($accountName)"
}
}
classOf[EmailAccount].getDeclaredConstructor()
结果是
res0: java.lang.reflect.Constructor[EmailAccount] = public EmailAccount()
然而,在火花的REPL我得到
java.lang.NoSuchMethodException: EmailAccount.<init>()
at java.lang.Class.getConstructor0(Class.java:2810)
at java.lang.Class.getDeclaredConstructor(Class.java:2053)
... 48 elided
是什么原因导致这种差异? 我怎样才能激发相匹配的火花shell的行为。
我公司推出的REPLs像这样:
/home/placey/Downloads/spark-2.0.0-bin-hadoop2.7/bin/spark-shell --master local --jars /home/placey/snakeyaml-1.17.jar
和
scala -classpath "/home/placey/snakeyaml-1.17.jar
斯卡拉版本火花:
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_55)
斯卡拉:
Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_55).