web-dev-qa-db-ja.com

ScalaIDEでコードを実行するときに `Java.lang.NoClassDefFoundError:scala / Function1`が表示されるのはなぜですか?

以下は、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経由で実行していますが、ビルドパスには以下が含まれています。

enter image description here

Scalaライブラリが見つかるはずですか?

27
blue-sky

Scala依存関係をMavenビルドに追加すると、問題を修正できます。

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.3</version>
</dependency>
16
Riduidel

私に関しては、「実行/デバッグ構成」の構成[idealJ]

「依存関係を「提供」スコープに含める」を選択することを忘れないでください

2
Kuang Wenyi