Я использую eclipse Версия: 3.7.2 с Scala IDE для 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 или плагин.
Я делаю что-то не так? Я упускаю какой-то нюанс конфигурации? Эта функция языка scala не поддерживается в eclipse? Будет ли он поддерживаться в какой-то момент?
Спасибо.