Java 7 avec emma et junit provoquant java.lang.Exception verifyerror et Illégales variable locale Erreurs
Donc j'obtiens ces erreurs
[junit] Illégales variable locale longueur de la table de 17 dans la méthode de test.nz.ac.massey.cs.la ddc.log4jassignment.s06005586.AppenderLayoutTest.()V
[junit] java.lang.Exception verifyerror: Attend un stackmap cadre à la direction de la cible 11 de la méthode de test.nz.ac.massey.cs.la ddc.log4jassignment.s06005586.Test de résistance.()V au décalage de 4
[junit] java.lang.ClassFormatError Illégales variable locale longueur de la table de 17 dans la méthode de test.nz.ac.massey.cs.la ddc.log4jassignment.s06005586.AppenderLayoutTest.()V
Et je voudrais savoir comment je peux le résoudre...
Ce que j'ai Lu:
- Java 7 JVM exception verifyerror dans Eclipse
- Testng, Emma, Cobertura, la couverture et le JDK 7 résultat dans ClassFormatError et exception verifyerror
- EMMA de couverture de code
- À l'aide d'EMMA avec ANT pour JUnit test de couverture du reporting
- Bug 141252 - 1.6 compilateur ClassFormatError: Illégal nom de la classe "" dans le fichier de classe (FIXE)
- 3.2. : l'instrumentation des classes Java à la volée
Ce que j'ai Fait:
Ressources:
- build.xml (expirera dans les 24 heures)
- build.xml sortie (expirera dans les 24 heures)
- Ant rapport de diagnostics (expirera dans les 24 heures)
- question précédente
- maven-emma-plugin-0.6.jar
- emma.jar et emma_ant.jar
Pour certains vraiment fou raison JUnit Passe sur target="test"
mais échoue sur target="emmatest"
.
C'est la sortie sur invite de commande à partir de java -version
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
J'ai essayé de réglage de la valeur par défaut des arguments pour ma java7 JRE
à -XX:-UseSplitVerifier
de ici
arguments http://iforce.co.nz/i/dvsh1eoc.n0m.png
J'ai également essayé de faire une plainte avec JDK 1.6
sur le Project Properties
.
plainte http://iforce.co.nz/i/4jxuj4eb.rae.png
JUnit direct les résultats des tests (pas d'erreurs sur la trace)
junit http://iforce.co.nz/i/wicrvpsi.5gw.png
Je suis à court d'options, s'il vous plaît aider! 🙁
OriginalL'auteur Killrawr | 2012-08-29
Vous devez vous connecter pour publier un commentaire.
Sons étranges.
Tout d'abord, vérifiez votre code pour voir si vous avez utilisé la nouvelle grammaire fonctionnalités introduites dans le JDK 1.7, comme
try-with-resource
oudiamond operator
.J'ai rencontré cette exception verifyerror avant, lors de l'utilisation de cobertura. Cependant, lorsque j'ai mis
-XX:-UseSplitVerifier
à lajunit
tâche, il est résolu. Je l'ai mis en spécifiant un<jvmarg>
élément imbriqué à
junit
tâche.Aussi, la plupart de la couverture libs semblent appuyer JDK1.7 très mal. Cependant, Jacoco fonctionne très bien avec le JDK1.7 je suis donc de l'utiliser pour l'instant.
Heureux de voir que! Oui, de le rétrograder la version du JDK est aussi un choix.
enfin, vous avez réussi à se débarrasser de lui par la dégradation de java6 comme je l'ai conseillé :).
Pourriez-vous prendre un coup d'oeil à basic.xml n'est pas dans pmd-bin-5.0-alpha ou pmd-bin-5.0.0 répertoires
Merci pour le pointeur: Couverture semble être la racine dans mon cas, trop.
OriginalL'auteur coolcfan
-XX:-UseSplitVerifier
Fonctionne pour moi et je n'ai pas eu de downgrade JRE de 1.7 à 1.6
OriginalL'auteur user2064436