以下は、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依存関係をMavenビルドに追加すると、問題を修正できます。
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
私に関しては、「実行/デバッグ構成」の構成[idealJ]
「依存関係を「提供」スコープに含める」を選択することを忘れないでください