Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Junit-NoClassDefFoundError:Scala/Function1_Scala_Junit - Fatal编程技术网

Scala Junit-NoClassDefFoundError:Scala/Function1

Scala Junit-NoClassDefFoundError:Scala/Function1,scala,junit,Scala,Junit,我试图运行Scala Junit 4测试,但我得到了NoClassDefFoundError:Scala/Function1。我通过运行配置启动它 有人知道问题是什么吗 完全错误: java.lang.NoClassDefFoundError: scala/Function1 at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unkn

我试图运行Scala Junit 4测试,但我得到了
NoClassDefFoundError:Scala/Function1
。我通过运行配置启动它

有人知道问题是什么吗

完全错误:

java.lang.NoClassDefFoundError: scala/Function1
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetMethodRecursive(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.isJUnit3SetUpTest(JUnit4TestLoader.java:61)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:49)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: scala.Function1
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 12 more

我在使用
scala 2.11.*
构建的
akka-http-2.11
时遇到了类似的问题,但我在类路径中使用了
scala-2.12.4

错误是

java.lang.NoClassDefFoundError: scala/Function1$class

    at akka.stream.Supervision$$anon$1.<init>(Supervision.scala:57)
    at akka.stream.Supervision$.<init>(Supervision.scala:57)
    at akka.stream.ActorMaterializerSettings$.apply(ActorMaterializer.scala:258)
    at akka.stream.ActorMaterializerSettings$.apply(ActorMaterializer.scala:248)
    at akka.stream.ActorMaterializer$$anonfun$1.apply(ActorMaterializer.scala:41)
    at akka.stream.ActorMaterializer$$anonfun$1.apply(ActorMaterializer.scala:41)
    at scala.Option.getOrElse(Option.scala:121)
    at akka.stream.ActorMaterializer$.apply(ActorMaterializer.scala:41)
    at akka.stream.ActorMaterializer$.create(ActorMaterializer.scala:110)
修复方法是在所有依赖项中使用相同版本的scala(
2.11

dependencies {
    compile group: 'org.scala-lang', name: 'scala-library', version: '2.11.11'
    compile group: 'com.typesafe.akka', name: 'akka-actor_2.12', version: '2.5.6'
    compile group: 'com.typesafe.akka', name: 'akka-http-experimental_2.11', version: '2.4.11.2'
}

因此,请确保使用的scala版本相同。

通常这意味着scala库不在类路径上,或者其他配置错误。请共享一些环境信息,运行配置安装程序以使我们更轻松。@AkosKrivachy感谢您的帮助,关于Scala库不在我的测试运行配置的类路径中,您是对的。我把它添加为一个外部罐子,它就工作了。Scala库jar列在我的Eclipse项目中,并使用Maven works运行测试,那么为什么运行配置找不到它呢?
dependencies {
    compile group: 'org.scala-lang', name: 'scala-library', version: '2.11.11'
    compile group: 'com.typesafe.akka', name: 'akka-actor_2.12', version: '2.5.6'
    compile group: 'com.typesafe.akka', name: 'akka-http-experimental_2.11', version: '2.4.11.2'
}