Jul*_*cia 9 eclipse scala eclipse-plugin scala-ide
我使用eclipse版本:3.7.2与Scala IDE for Eclipse 2.1.0.nightly-2_09-201203121521-6e8582e.java版本是1.6.0_31.操作系统是Ubuntu 11.10.
我已经找到了解决这个问题的方法,但我还没找到.我希望没有一个我错过的明显答案.
我有这个课(注意包):
package model.x.y
import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class GibberishTestSuite extends FunSuite {
test("Check Gibberish") {
assert("blah" === "blah")
}
}
Run Code Online (Sandbox Code Playgroud)
我也使用gradle,源路径看起来像这样(注意包与目录层次结构不匹配):
.../src/test/scala/model/GibberishTest.scala
Run Code Online (Sandbox Code Playgroud)
Eclipse和gradle生成相应的类文件:
bin/model/x/y/GibberishTestSuite.class
build/classes/test/model/x/y/GibberishTestSuite.class
Run Code Online (Sandbox Code Playgroud)
这通过gradle运行良好,但是当我尝试在eclipse中运行时,我得到了
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
Run Code Online (Sandbox Code Playgroud)
如果我将包更改为
package model
Run Code Online (Sandbox Code Playgroud)
这样目录层次结构和包名称匹配,那么我就可以在eclipse中运行单元测试了.在scala中,包结构和目录结构不匹配是合法的.但是,不匹配似乎让eclipse或插件混乱.
难道我做错了什么?我错过了一些配置细微差别吗?eclipse中不支持这种scala语言功能吗?它会在某个时候得到支持吗?
谢谢.
这是一个Eclipse(JDT)问题,而不是Scala/scala-ide问题.
针对Eclipse引发了一个错误(Package Explorer树与声明的包匹配),但基本上,Eclipse假定层次结构与包名匹配.这最终将在Scala-ide中修复,但需要更改模型,以消除对JDT的依赖.如果您想要修复此问题,最好将您的投票添加到上述问题中.