Meu aplicativo da web funciona bem no JDK 1.7, mas trava no 1.8 com a seguinte exceção (durante a inicialização do servidor de aplicativos com Jetty 8). Estou usando a versão Spring: 3.2.5.RELEASE.
Exceção:
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
Presumo que o problema ocorra por causa da biblioteca spring e "asm.jar" da qual depende.
Como faço para resolver isso?
Respostas:
Como @prunge e @Pablo Lozano declararam, você precisa do Spring 4 se quiser compilar o código para Java 8 (--target 1.8), mas ainda pode executar aplicativos em Java 8 compilados para Java 7 se executar no Spring 3.2.X.
Confira http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html
fonte
Se você encontrar esse erro mesmo se compilar com -target 1.7, observe que isso se deve a um bug no Spring Framework que faz com que o leitor de classes ASM carregue classes jdk (java. * Ou javax. *), Que são, é claro, compilado com -target 1.8.
Isso, combinado com a versão antiga do ASM na primavera 3.2.8 e abaixo, que não suporta a análise de arquivos de classe 1.8, também pode levar a este erro.
Mais informações sobre o assunto podem ser encontradas aqui: https://jira.spring.io/browse/SPR-11719
Isso deve ser corrigido no Spring Framework versão 3.2.9, que será lançado em breve.
Obviamente, atualizar para Spring Framework 4 também resolverá o problema, pois ele já contém uma versão mais recente do ASM.
No entanto, se por algum motivo você ainda não puder atualizar para a versão 4, é bom saber que há uma alternativa (em breve).
fonte
se você usa java 8 ou a próxima versão, você precisa atualizar a versão primavera e a versão primavera deve ser 4.xxx
fonte
Eu tive o mesmo problema e resolvi. Estou usando spring 3.x com java 8. Se as soluções acima não estiverem funcionando, altere os jars e pesquise se esses jars são compatíveis com a versão java que você está usando ou não. spring 3.x não é compatível com java 8.
fonte
Spring 4 pode ser usado para java 8 para resolver esse problema. Acabei de testar e funciona. Este problema foi corrigido desde a versão Spring 3.2.9-RELEASE.
fonte