2011-05-28 12 views
7

"actualicé" algunos archivos jar de la versión del archivo de clase 49.0 a 50.0 con ProGuard.¿Cómo verificar si una versión de archivo de clase 50.0 (Java 6) ha sido previamente verificada?

Como la verificación previa es opcional con la versión 50.0, me pregunto si hay una forma de comprobar si el archivo de clase tiene realmente un atributo StackMapTable.

(No es que no confíe en ProGuard "[...] Las siguientes opciones actualizan los archivos de clase a Java 6, actualizando sus números de versión internos y preverlos", pero me gustaría aprender cómo verifique la existencia de StackMapTable.)

+0

¿no tienes fuentes y no puedes compilarlas con el compilador java 6? – anfy2002us

+0

Lo estoy usando con Scala y 'scalac' solo genera código para Java 5 (49.0) en este momento. – soc

+0

pero no deberías tener problemas con el código compilado de java 5 para ejecutar en jvm 6 – anfy2002us

Respuesta

3

Javaasist tiene soporte para revisar tablas de mapas de pila.

La otra pepita me encontré fue -XX java: -FailOverToOldVerifier -Xverify: todo lo cual sólo debe verificar si hay información SMT en un archivo de clase versión 50+. Sin embargo, no lo he probado y ni siquiera puedo decirte cómo se vería en la salida.

Cuestiones relacionadas