我正在使用 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")
}
}
我也在使用 gradle,源路径如下所示(注意包与目录层次不匹配):
.../src/test/scala/model/GibberishTest.scala
Eclipse 和 gradle 生成对应的类文件:
bin/model/x/y/GibberishTestSuite.class
build/classes/test/model/x/y/GibberishTestSuite.class
这通过gradle运行良好,但是当我尝试在eclipse中运行时,我得到
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
如果我将包更改为
package model
以便目录层次结构和包名称匹配,然后我就可以在 eclipse 中运行单元测试。在scala中,包结构和目录结构不匹配是合法的。但是,不匹配似乎使 eclipse 或插件感到困惑。
难道我做错了什么?我错过了一些配置的细微差别吗?eclipse 不支持这个 scala 语言功能吗?它会在某个时候得到支持吗?
谢谢你。