2012-03-13 11 views
9

Estoy usando la versión de eclipse: 3.7.2 con el IDE de Scala para Eclipse 2.1.0.nightly-2_09-201203121521-6e8582e. La versión de Java es 1.6.0_31. El sistema operativo es Ubuntu 11.10.Plugin del eclipse de Scala java.lang.ClassNotFoundException

He buscado soluciones a este problema, pero todavía no he encontrado uno. Espero que no haya una respuesta obvia que me haya perdido.

tengo esta clase (nota el paquete):

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") 
    } 
} 

También estoy usando Gradle y la ruta de origen tiene este aspecto (nota de que el paquete no coincide con la jerarquía de directorios):

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

Eclipse y Gradle generar los archivos de clase coresponding:

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

Esto funciona muy bien a través Gradle, pero cuando trato de ejecutar en Eclipse, me sale

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

Si cambio el paquete a

package model 

de manera que la jerarquía de directorios y el paquete nombre coincidencia, luego puedo ejecutar la prueba unitaria en eclipse. En scala, es legal que la estructura del paquete y la estructura del directorio no coincidan. Sin embargo, la falta de coincidencia parece ser un eclipse confuso o el complemento.

¿Estoy haciendo algo mal? ¿Me falta algún matiz de configuración? ¿Esta función de lenguaje scala no es compatible con Eclipse? ¿Será compatible en algún momento?

Gracias.

+0

He notado lo mismo. Supuse que simplemente no es compatible con la compilación de Eclipse. –

Respuesta

7

Este es un problema de Eclipse (JDT) en lugar de un problema Scala/scala-ide.

Se ha producido un error en Eclipse (Package Explorer tree does match declared package), pero básicamente, Eclipse supone que la jerarquía coincide con los nombres de los paquetes. Esto se arreglará eventualmente en el Scala-ide, pero el modelo necesita ser cambiado, para eliminar la dependencia en el JDT. Si desea que esto se solucione, es una buena idea agregar su voto al problema anterior.

+0

no hay trabajo? – zinking

Cuestiones relacionadas