Scala Eclipse Plugin Java.lang.classnotfoundexception
-
13-12-2019 - |
Вопрос
Я использую Eclipse версии: 3.7.2 со скальдой 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
.
Это работает нормально через град, но когда я пытаюсь запустить в Eclipse, я получаю
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
.
Если я изменю пакет на
package model
.
Я делаю что-то не так? Я скучаю по какой-то конфигурации нюанса? Эта функция Scala языка не поддерживается в Eclipse? Будет поддерживаться в какой-то момент?
Спасибо.
Решение
Это проблема Eclipse (JDT), а не проблема Scala / Scala-IDE.
Возникла ошибка, поднятая против Eclipse ( Дерево проводника пакета делает Chapted Package ),Но в основном, Eclipse предполагает, что иерархия соответствует имена пакета.Это будет исправлено в конце концов в Scala-IDE, но модель должна быть изменена, чтобы удалить зависимость на JDT.Если вы хотите, чтобы это исправлено, это хорошая идея, чтобы добавить свой голос к вышеуказанному вопросу.