我最近决定安装Scala IDE 3.0.3(基本上是带有scala插件的Eclipse Kepler)。我拥有最新的规格(specs2_2.10-23.11),scalaz(2.10-7.0.4),集合(scalaj-collection_2.10-1.5)和Scala库[2.10.4]
我尝试使用“ Scala JUnit Test”在scala中运行测试,但出现此错误
java.lang.NoClassDefFoundError:scalaz / concurrent / Strategy $ at org.specs2.reporter.DefaultExecutionStrategy $$ anonfun $ execute $ 1 $$ anonfun $ 2.apply(ExecutionStrategy.scala:43)在org.specs2.reporter.Default $ eecutionStrategy在scala.collection.LinearSeqOptimized $ class.foldLeft(LinearSeqOptimized.scala:111)处的$ execute $ 1 $ anonfun $ 2.apply(ExecutionStrategy.scala:41)在scala.collection.immutable.List.foldLeft(List.scala:84)于org.specs2.reporter.DefaultExecutionStrategy $$ anonfun $ execute $ 1.apply(ExecutionStrategy.scala:41)于org.specs2.reporter.DefaultExecutionStrategy $$ anonfun $ execute $ 1.apply(ExecutionStrategy.scala.scala:38) scalaz.syntax中的.IdOps $ class。$ bar $ greater(IdOps.scala:15),位于org.specs2.reporter.JUnitReporter $ class.report的ToIdOps $$ anon $ 1. $ bar $ greater(IdOps.scala:78) (JUnitReporter.scala:44),位于org.specs2.runner。org.specs2.runner上的JUnitRunner $$ anon $ 4.report(JUnitRunner.scala:43).org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.org.specs2.runner.JUnitRunner.run(JUnitRunner.scala:50) java:50)位于org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)位于org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)在org.eclipse.org上的org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)上的org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) .jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)上的internal.junit.runner.TestExecution.run(TestExecution.java:38),位于org.eclipse.jdt.internal.junit。 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)处的Runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。主要(RemoteTestRunner.java:197)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)上的internal.junit.runner.TestExecution.run(TestExecution.java:38),位于org.eclipse.jdt.internal.junit。 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)处的Runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。主要(RemoteTestRunner.java:197)
造成原因:java.lang.ClassNotFoundException:java.net上的scalaz.concurrent.Strategy $ Source)java.lang.ClassLoader.loadClass(未知来源)sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)java.lang.ClassLoader.loadClass(未知来源)... 17更多
是什么原因造成的?我可能错过了一些东西,但找不到。
我的测试使用gradle进行得很好。
好吧,有人会发现它很有帮助。我找到了解决方案:我错过了scalaz-concurrent
jar,它显然没有包含在其中scalaz-core
。需要注意的是你需要的相同的版本core
,并concurrent
以工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句