Eclipse中的ScalaTest:运行它会产生NullPointer异常

Eclipse中的ScalaTest:运行它会产生NullPointer异常,eclipse,scalatest,Eclipse,Scalatest,编辑:此问题是sbteclipse的一个bug,已被删除 当我右键单击ScalaTest套件并选择RunasScalateST文件时,我得到一个NullPointer异常 作为一个插件,我有Scala IDE 2.9.3.v-3-2_09-201309130843-55f5c32的ScalateTest 作为我库中的jar,我有scalatest_2.9.0-2.0.M5b.jar(也尝试了scalatest_2.9.3-RC2-2.0.M5b.jar) 测试在SBT中运行 附带问题:如果这

编辑:此问题是sbteclipse的一个bug,已被删除

当我右键单击ScalaTest套件并选择RunasScalateST文件时,我得到一个NullPointer异常

  • 作为一个插件,我有Scala IDE 2.9.3.v-3-2_09-201309130843-55f5c32的ScalateTest
  • 作为我库中的jar,我有scalatest_2.9.0-2.0.M5b.jar(也尝试了scalatest_2.9.3-RC2-2.0.M5b.jar)
  • 测试在SBT中运行
附带问题:如果这是jar和插件之间最具伸缩性的兼容性问题,那么如何获得与插件匹配的适当jar? 我看了这里,但我不知道该选哪一个

位于的java.lang.NullPointerException scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:115)位于 scala.collection.SeqLike$class.size(SeqLike.scala:100)位于 scala.collection.mutable.ArrayOps.size(ArrayOps.scala:38)位于 scala.collection.mutable.Builder$class.sizeHint(Builder.scala:69)位于 scala.collection.mutable.ArrayBuilder.sizeHint(ArrayBuilder.scala:23) 在 scala.collection.TraversableLike$class.map(TraversableLike.scala:232) 位于scala.collection.mutable.ArrayOps.map(ArrayOps.scala:38) scala.tools.eclipse.scalatest.launching.ScalaTestLaunchDelegate.launchScalaTest(ScalaTestLaunchDelegate.scala:103) 在 scala.tools.eclipse.scalatest.launting.ScalaTestLaunchDelegate.launch(ScalaTestLaunchDelegate.scala:161) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703) 在 org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:937) 在 org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1141) 位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

其他详情:

eclipse.buildId=M20120208-0800
java.version=1.7.0_40
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_CA
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product

发生这种情况的原因:

如果使用sbteclipse创建eclipse配置,则可能会发生此错误。sbteclipse使用.ivy2文件夹中的Scala库,该库可能与scalatest插件不兼容,因此出现错误

我在打破脑袋并考虑用核武器炸我的电脑后学到了什么

转到项目属性->Java构建路径->库 删除生成的指向常春藤的scala库 使用“添加库…”添加Scala ide附带的Scala库, [可选]确保运行配置也使用捆绑的Scala库


此解决方案由

向您介绍为什么会发生这种情况:

如果使用sbteclipse创建eclipse配置,则可能会发生此错误。sbteclipse使用.ivy2文件夹中的Scala库,该库可能与scalatest插件不兼容,因此出现错误

我在打破脑袋并考虑用核武器炸我的电脑后学到了什么

转到项目属性->Java构建路径->库 删除生成的指向常春藤的scala库 使用“添加库…”添加Scala ide附带的Scala库, [可选]确保运行配置也使用捆绑的Scala库


这个解决方案是由

提供给您的,在我将Scala特性手动添加到Maven项目后,它也对我起了作用-我需要将Eclipse的Scala库添加到构建路径这是sbteclipse bug,它已在版本2.4.0中修复。在我将Scala特性手动添加到Maven项目后,它也对我起了作用-我需要将Eclipse的scala库添加到构建路径这是sbteclipse bug,它已在版本2.4.0中修复