Java 1.8 ASM ClassReader не удалось проанализировать файл класса-вероятно, из - за новой версии файла класса Java, которая еще не поддерживается



мое веб-приложение отлично работает на JDK 1.7, но падает на 1.8 со следующим исключением (во время запуска сервера приложений с Jetty 8). Я использую весеннюю версию: 3.2.5.ОСВОБОЖДАТЬ.



исключения:



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



Я предполагаю, что проблема возникает из-за Весны и "АСМ.jar " библиотека, от которой это зависит.



Как мне решить эту проблему?

682   4  

4 ответов:

как заявили @prunge и @Pablo Lozano, вам нужна Spring 4, если вы хотите скомпилировать код на Java 8 (--target 1.8), но вы все равно можете запускать приложения на Java 8, скомпилированные на Java 7, Если вы работаете на Spring 3.2.Х.

проверить http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html

обратите внимание, что уровень байт-кода Java 8 (- target 1.8, как требуется-source 1.8) полностью поддерживается только с Spring Framework 4.0. В в частности, приложения на основе Spring 3.2 должны быть скомпилированы с максимальным значением Java 7 в качестве цели, даже если они будут развернуты в среде выполнения Java 8. Пожалуйста, обновите до весны 4 для приложений на основе Java 8.

Если вы столкнулись с этой ошибкой, даже если вы компилируете с-target 1.7, обратите внимание, что это связано с ошибкой в Spring Framework, которая заставляет ASM classreader загружать классы jdk (java.* или javax.* ), которые, конечно же, скомпилированы с-target 1.8.

Это, в сочетании со старой версией ASM весной 3.2.8 и ниже, которая не поддерживает разбор файлов класса 1.8, также может привести к этой ошибке.

подробнее о проблеме можно найти здесь: https://jira.spring.io/browse/SPR-11719

Это должно быть исправлено в Spring Framework версии 3.2.9, которая должна быть выпущена в ближайшее время.

конечно, обновление до Spring Framework 4 также решит проблему, поскольку она уже содержит более новую версию ASM.

однако, если по какой-то причине вы еще не можете перейти на версию 4, хорошо знать, что есть альтернатива (скоро).

Если вы используете java 8 или следующую версию, вам нужно обновить версию spring, а версия spring должна быть 4.xxx

Весна 4 может использоваться для java 8 для решения этой проблемы. Я только что проверил его, и он работает. Эта проблема исправлена с 3.2.9-RELEASE.

Comments

    Ничего не найдено.