Exception java.lang.IncompatibleClassChangeError lors de l'exécution de Groovy dans Eclipse Juno
J'ai récemment téléchargé Eclipse Juno et installé la dernière Groovy plugin.
Maintenant, voici comment mon Groovy fichier ressemble.
package groovy_support
class TimePass {
static void main(def args){
println "Hello World"
}
}
Lorsque j'exécute ce soit à partir de mon précédent eclipse version (indigo) ou en ligne de commande, il fonctionne. Sur Eclipse Juno, cependant, il se plaint avec l'exception suivante sur l'Éclipse de la console.
Caught: java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.ClassVisitor, but interface was expected
java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.ClassVisitor, but interface was expected
Note que "Groovy Bibliothèques" sont déjà sur le chemin de classe.
Maintenant ce que je fais mal?
source d'informationauteur user898535
Vous devez vous connecter pour publier un commentaire.
Êtes-vous sur la dernière groovy/dépendant de pots? .
La
java.lang.IncompatibleClassChangeError
se produit en raison de l'arrière de la paroisse de problèmes de compatibilité.Le code du client doit être recompilé pour le résoudre.
L'erreur spécifique que vous voyez est parce que
org.objectweb.asm.ClassVisitor
est un Interface en asm 3.2 et un Classe en asm 4.0 et ultérieures.J'ai eu le même problème à l'aide de Printemps et Groovy dans un module. Le printemps en 3.1.2 utilise encore les anciennes ASM, Groovy utilise celui avec la classe. Bien qu'il puisse être possible de régler certains exclut, je parie qu'il n'est pas toujours une option.
Après la lecture de ce fil j'ai décidé de faire avec groovy-all.jar au lieu de la liste de tous les Groovy nécessaire libs. Si c'est une option pour vous, il pourrait être facile de la manière d'éviter des problèmes supplémentaires.