Scala Eclipse Plugin Java.lang.classnotfoundException
-
13-12-2019 - |
Question
J'utilise Eclipse Version: 3.7.2 avec l'IDE Scala pour Eclipse 2.1.0.night-2_09-201203121521-6E8582E. La version Java est 1.6.0_31. Le système d'exploitation est Ubuntu 11.10.
J'ai cherché des solutions à ce problème, mais je n'en ai pas encore trouvé. J'espère qu'il n'y a pas une réponse évidente que j'ai manquée.
J'ai cette classe ( notez le paquet ):
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")
}
}
J'utilise également la gradle et le chemin source ressemble à ceci ( Notez que le paquet ne correspond pas à la hiérarchie de répertoire ):
.../src/test/scala/model/GibberishTest.scala
Eclipse et gradle génèrent les fichiers de classe correspondants:
bin/model/x/y/GibberishTestSuite.class
build/classes/test/model/x/y/GibberishTestSuite.class
Cela fonctionne bien à travers la gradle, mais quand j'essaie de courir dans Eclipse, je reçois
Class not found model.GibberishTestSuite
java.lang.ClassNotFoundException: model.GibberishTestSuite
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
Si je change le paquet vers
package model
Est-ce que je fais quelque chose de mal? Est-ce que je manque une certaine configuration nuance? Cette fonctionnalité de langue Scala n'est-elle pas prise en charge dans Eclipse? Sera-t-il soutenu à un moment quelconque?
merci.
La solution
Ceci est un problème Eclipse (JDT) plutôt qu'un problème SCALA / SCALA-IDE.
Il y avait un bug soulevé contre Eclipse ( Forfait Explorer Arbre correspond au paquet déclaré ),Mais essentiellement, Eclipse suppose que la hiérarchie correspond aux noms de paquets.Cela sera corrigé éventuellement dans l'IDE SCALA-IDE, mais le modèle doit être modifié pour supprimer la dépendance sur le JDT.Si vous le souhaitez, c'est une bonne idée d'ajouter votre vote au problème ci-dessus.