2012-03-13 2 views
9

Я использую eclipse Версия: 3.7.2 с Scala IDE для Eclipse 2.1.0.nightly-2_09-201203121521-6e8582e. Версия java - 1.6.0_31. ОС - Ubuntu 11.10.Scala eclipse plugin java.lang.ClassNotFoundException

Я искал решения этой проблемы, но пока не нашел ее. Надеюсь, нет очевидного ответа, который я пропустил.

У меня есть этот класс (примечание пакет):

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 генерировать файлы классов coresponding:

bin/model/x/y/GibberishTestSuite.class 
build/classes/test/model/x/y/GibberishTestSuite.class 

Это прекрасно работает через Gradle, но когда я пытаюсь запустить в затмении, я получаю

Class not found model.GibberishTestSuite 
java.lang.ClassNotFoundException: model.GibberishTestSuite 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 

Если изменить пакет

package model 

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

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

спасибо.

+0

Я заметил то же самое. Я предположил, что это просто не поддерживается сборкой Eclipse. –

ответ

7

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

Ошибка была связана с Eclipse (Package Explorer tree does match declared package), но в основном Eclipse предполагает, что иерархия соответствует именам пакетов. В конечном итоге это будет исправлено в Scala-ide, но модель должна быть изменена, чтобы удалить зависимость от JDT. Если вы хотите, чтобы это исправлено, рекомендуется добавить свой голос к вышеуказанной проблеме.

+0

нет работа вокруг? – zinking

Смежные вопросы