【发布时间】:2014-08-16 10:21:08
【问题描述】:
这是我用来从 Java 调用 Scala 方法的简单测试:
public static void main(String args[]) {
java.util.Map<String, java.util.List<String>> rec = news.recommend.DriverObj.runTest();
System.out.println(rec.toString());
}
Scala 方法的定义如下:
def runTest: java.util.Map[String, java.util.List[String]] = {
new java.util.HashMap[String, java.util.List[String]]
}
但是它会抛出一个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1
at news.recommend.DriverObj.runTest(DriverObj.scala)
我应该怎么做才能让它顺利运行?
更新:我通过 Eclipse 运行它,我的构建路径包含:
那么应该找到 Scala 库吗?
【问题讨论】:
-
运行时类路径上有什么?
-
在我看来,您没有在类路径中包含 scala 库的 jar。
scala自动包含它,java不包含。 -
@Dave Newton 请查看问题更新
-
构建路径和运行路径不一定相同,我也相信 Scala 库不在运行时类路径中。
-
@StackG,您可以手动将
scala-library.jar作为库添加到您的Eclipse 项目中,就像使用Java 时添加任何普通jar 一样。
标签: java scala maven noclassdeffounderror scala-ide