1
我是Scala的新手。你能否幫我解決一下當我從命令行執行一個Scala類時遇到的問題。來自命令行的Scala RichInt NoClassDefFoundError
在Eclipse中執行下面的代碼我得到了預期的結果,即打印了10次「hello」。然而,當我在命令行中執行,使用斯卡拉testArray從包含該文件testArray.class的目錄,然後我得到一個異常
java.lang.NoClassDefFoundError: scala/runtime/RichInt$
at TestArray$.main(TestArray.scala:3)
at TestArray.main(TestArray.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
...
我有一個Windows XP機器,安裝的Java 1.6。 Scala bin目錄包含在PATH中,Scala目錄設置爲SCALA_HOME。我正在使用Scala 2.9.2。
完整的源:
object TestArray {
def main(args: Array[String]): Unit = {
var index: Int = 10
for (index <- 0 until 10) {
println("hello")
}
}
}
設置環境變量後,您是否重新啓動了控制檯會話?當您更改任何變量時,Windows不會更新這些變量。順便說一句,這絕對是一個類路徑問題。 – rlegendi
注意:'var index:Int = 10'這行是不必要的。將其從您的代碼中刪除。 – Jesper
我沒有重新啓動命令行,並且可以看到使用SET設置了環境變量,例如SCALA_HOME設置爲c:\ scala-2.9.2。我正在使用的scala命令拾取包含在PATH中的安裝bin目錄中的Scala.bat,並且我沒有篡改它。 –