문제

나는 Eclipse 버전을 사용하고 있습니다 : 3.7.2 Eclipse 2.1.0.nightly-2_09-201203121521-6E8582E 용 Scala IDE. Java 버전은 1.6.0_31입니다. OS는 우분투 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")
  }
}
.

나는 또한 그라데이션을 사용하고 있으며 소스 경로는이 ()로 보입니다 (패키지가 디렉토리 계층 구조와 일치하지 않음 ) :

.../src/test/scala/model/GibberishTest.scala
.

Eclipse 및 그라데이는 대응 클래스 파일을 생성합니다.

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

이것은 졸업을 통해 잘 실행되지만 이클립스에서 실행하려고 할 때

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

패키지를

로 변경하면
package model
.

디렉토리 계층 구조와 패키지 이름이 과 일치하도록, 나는 Eclipse에서 단위 테스트를 실행할 수 있습니다. 스칼라에서는 패키지 구조와 일치하지 않는 디렉토리 구조에 대해 합법적입니다. 그러나 불일치는 Eclipse 또는 플러그인을 혼동하는 것으로 보입니다.

뭔가 잘못하고 있습니까? 나는 구성 뉘앙스를 놓치고 있습니까? 이 Scala 언어 기능은 Eclipse에서 지원되지 않습니까? 어떤 시점에서 지원됩니까?

고맙습니다.

도움이 되었습니까?

해결책

이것은 스칼라 / 스칼라 IDE 문제가 아닌 Eclipse (JDT) 문제입니다.

Eclipse ( 패키지 탐색기 트리가 선언 된 패키지 일치 )에 대한 버그가 발생했습니다.그러나 기본적으로 Eclipse는 계층 구조가 패키지 이름과 일치한다고 가정합니다.이것은 SCALA-IDE에서 결국 수정되지만 MODEL을 변경해야하며 JDT의 종속성을 제거해야합니다.이 문제가 해결되면 위의 문제에 투표를 추가하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top