eclipse ant java-7 emma
emma.jar y emma_ant.jar

eclipse - Java 7 con emma y junit que causan java.lang.VerifyError y errores variables locales ilegales



ant java-7 (2)

-XX:-UseSplitVerifier

Funciona para mí y no tuve que degradar JRE de 1.7 a 1.6

Así que estoy recibiendo estos errores

[junit] Longitud de la tabla de variables locales ilegales 17 en el método test.nz.ac.massey.cs.sdc.log4jassignment.s06005586.AppenderLayoutTest. () V

[junit] java.lang.VerifyError: Esperando un marco de mapa de distribución en el destino 11 de rama en el método test.nz.ac.massey.cs.sdc.log4jassignment.s06005586.StressTest. () V en el desplazamiento 4

[junit] java.lang.ClassFormatError: longitud de la tabla de variables locales ilegales 17 en el método test.nz.ac.massey.cs.sdc.log4jassignment.s06005586.AppenderLayoutTest. () V

Y me gustaría saber cómo puedo solucionarlo ...

Lo que he leído:

Qué he hecho:

Recursos:

Por alguna razón realmente loca, el JUnit pasa en target="test" pero falla en target="emmatest" .

Esta es la salida del símbolo del sistema 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)

He intentado establecer los argumentos predeterminados para mi java7 JRE a -XX:-UseSplitVerifier desde aquí

argumentos http://iforce.co.nz/i/dvsh1eoc.n0m.png

También traté de presentar una queja con JDK 1.6 en Project Properties .

queja http://iforce.co.nz/i/4jxuj4eb.rae.png

JUnit resultados de prueba directa (sin errores en la traza)

junit http://iforce.co.nz/i/wicrvpsi.5gw.png

Estoy sin opciones, ¡por favor ayuda! :(


Suena extraño.

Primero, verifique su código para ver si ha utilizado las nuevas características de gramática introducidas en JDK 1.7, como try-with-resource o diamond operator .

Conocí este VerifyError antes, cuando uso cobertura. Sin embargo, cuando configuro -XX:-UseSplitVerifier en la tarea junit , se resuelve. Lo configuré especificando un elemento <jvmarg> anidado a la tarea junit .

Además, la mayoría de las librerías de cobertura parecen soportar JDK1.7 muy mal. Sin embargo, Jacoco funciona bien con JDK1.7, así que lo estoy usando por ahora.