Вопрос

Я использую 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
.

так, чтобы иерархия каталогов и имя пакета совпадают , то я могу запустить тест устройства в Eclipse. В Scala это законно для структуры пакета и структуру каталогов не соответствует. Однако несоответствие, кажется, запутает затмение или плагин.

Я делаю что-то не так? Я скучаю по какой-то конфигурации нюанса? Эта функция Scala языка не поддерживается в Eclipse? Будет поддерживаться в какой-то момент?

Спасибо.

Это было полезно?

Решение

Это проблема Eclipse (JDT), а не проблема Scala / Scala-IDE.

Возникла ошибка, поднятая против Eclipse ( Дерево проводника пакета делает Chapted Package ),Но в основном, Eclipse предполагает, что иерархия соответствует имена пакета.Это будет исправлено в конце концов в Scala-IDE, но модель должна быть изменена, чтобы удалить зависимость на JDT.Если вы хотите, чтобы это исправлено, это хорошая идея, чтобы добавить свой голос к вышеуказанному вопросу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top