modificador - Java 1.8 ASM ClassReader no pudo analizar el archivo de clase, probablemente debido a una nueva versión del archivo de la clase Java que aún no es compatible
modificador static java (4)
Mi aplicación web funciona bien en JDK 1.7 pero se bloquea en 1.8 con la siguiente excepción (durante el inicio del servidor de aplicaciones con Jetty 8). Estoy usando la versión de Spring: 3.2.5.RELEASE.
Excepción:
org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn''t supported yet
Supongo que ese problema ocurre debido a la primavera y a la biblioteca "asm.jar" de la que depende.
¿Cómo resuelvo esto?
Como afirman @prunge y @Pablo Lozano, necesitas Spring 4 si quieres compilar código en Java 8 (--target 1.8), pero aún puedes ejecutar aplicaciones en Java 8 compiladas en Java 7 si ejecutas en Spring 3.2.X.
Consulte http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html
Tenga en cuenta que el nivel de código de bytes de Java 8 (-objetivo 1.8, según lo requerido por -source 1.8) solo es totalmente compatible a partir de Spring Framework 4.0. En particular, las aplicaciones basadas en Spring 3.2 deben compilarse con un máximo de Java 7 como objetivo, incluso si se implementan en un tiempo de ejecución Java 8. Actualice a Spring 4 para aplicaciones basadas en Java 8.
Si encuentra este error incluso si compila con -target 1.7, tenga en cuenta que esto se debe a un error en Spring Framework que hace que ASM classreader cargue las clases jdk (java. * O javax. *), Que son, por supuesto, compilado con -objetivo 1.8.
Esto, combinado con la versión anterior de ASM en la primavera 3.2.8 y siguientes, que no admite el análisis de archivos de clase 1.8, también puede generar este error.
Puede encontrar más información sobre el problema aquí: https://jira.spring.io/browse/SPR-11719
Esto debería solucionarse en Spring Framework versión 3.2.9, que se publicará próximamente.
Por supuesto, la actualización a Spring Framework 4 también resolverá el problema, ya que ya contiene una versión más nueva de ASM.
Sin embargo, si por alguna razón no puede actualizarse a la versión 4, es bueno saber que hay una alternativa (próximamente).
Spring 4 se puede usar para Java 8 para resolver este problema. Acabo de probarlo y funciona. Este problema se corrigió desde 3.2.9-LIBERACIÓN.
si usa java 8 o la próxima versión, necesita actualizar la versión de resorte y la versión de resorte debe ser 4.xxx