这是一个我用来从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库吗?
答案 0 :(得分:16)
将Scala依赖项添加到maven构建可以解决问题:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
答案 1 :(得分:2)
对于我来说,在 “运行/调试配置” [idealJ]
请记住选择 “包括具有“提供的”范围的依赖项”