Mi aplicación web funciona bien en JDK 1.7 pero falla 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 el problema se produce debido a la primavera y la biblioteca "asm.jar" de la que depende.
¿Cómo resuelvo esto?
Respuestas:
Como indicaron @prunge y @Pablo Lozano, necesita Spring 4 si desea compilar código en Java 8 (--target 1.8), pero aún puede ejecutar aplicaciones en Java 8 compiladas en Java 7 si se ejecuta en Spring 3.2.X.
Consulte http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html
fuente
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 el lector de clases ASM cargue clases jdk (java. * O javax. *), Que son, por supuesto, compilado con -target 1.8.
Esto, combinado con la versión anterior de ASM en la primavera 3.2.8 e inferior, que no admite el análisis de archivos de clase 1.8, también puede provocar este error.
Puede encontrar más información sobre el problema aquí: https://jira.spring.io/browse/SPR-11719
Esto debería corregirse en Spring Framework versión 3.2.9, que se lanzará pronto.
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 actualizar a la versión 4 todavía, es bueno saber que hay una alternativa (pronto).
fuente
si usa java 8 o la próxima versión, necesita actualizar la versión de primavera y la versión de primavera debe ser 4.xxx
fuente
Tuve el mismo problema y lo resolví. Estoy usando Spring 3.x con Java 8. Si las soluciones anteriores no funcionan, cambie los frascos y busque si esos frascos son compatibles con la versión de Java que está utilizando o no. spring 3.x no es compatible con java 8.
fuente
Spring 4 se puede utilizar para Java 8 para resolver este problema. Lo acabo de probar y funciona. Este problema está solucionado desde la versión Spring 3.2.9-RELEASE.
fuente