Java 1.8 ASM ClassReader가 클래스 파일을 구문 분석하지 못했습니다. 아마도 아직 지원되지 않는 새로운 Java 클래스 파일 버전 때문일 수 있습니다.
웹 어플리케이션은 JDK 1.7에서는 정상적으로 동작하지만 다음 예외(Jetty 8에서 어플리케이션서버 기동 중)를 제외하고 1.8에서 크래시 됩니다.Spring 버전 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
이 문제는 스프링과 그것이 의존하는 "asm.jar" 라이브러리 때문에 발생하는 것으로 추측됩니다.
이 문제를 해결하려면 어떻게 해야 하나요?
@prunge와 @Pablo Lozano가 말했듯이 Java 8(--target 1.8)로 컴파일하려면 Spring 4가 필요하지만, Spring 3.2.X에서 실행한다면 Java 7로 컴파일된 Java 8에서 앱을 실행할 수 있습니다.
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html 를 확인해 주세요.
Java 8 바이트 코드레벨(-source 1.8에서 요구하는 타겟 1.8)은 Spring Framework 4.0에서만 완전히 지원됩니다.특히 Spring 3.2 기반 애플리케이션은 Java 8 런타임에 전개되는 경우에도 최대 Java 7을 대상으로 컴파일해야 합니다.Java 8 기반 응용 프로그램의 경우 Spring 4로 업그레이드하십시오.
-target 1.7을 사용하여 컴파일해도 이 오류가 발생할 경우 이는 ASM 클래스 리더가 jdk 클래스(java)를 로드하는 원인이 되는 Spring Framework의 버그에 있음을 유의하시기 바랍니다.* 또는 javax.*)는 물론 -target 1.8로 컴파일되어 있습니다.
1.8 클래스 파일의 해석을 지원하지 않는 스프링 3.2.8 이전의 오래된 ASM 버전과 조합하면 이 에러도 발생할 가능성이 있습니다.
이 문제에 대한 자세한 내용은http://https://jira.spring.io/browse/SPR-11719 를 참조해 주세요.
이는 곧 출시될 예정인 Spring Framework 버전 3.2.9에서 수정되어야 합니다.
물론 Spring Framework 4로 업그레이드하면 새로운 버전의 ASM이 이미 포함되어 있기 때문에 이 문제도 해결됩니다.
단, 아직 버전4로 업그레이드 할 수 없는 경우에는 (조만간) 다른 버전이 있다는 것을 알아두는 것이 좋습니다.
나도 같은 문제를 안고 해결했다.java 8에서 spring 3.x를 사용하고 있습니다.위의 솔루션이 작동하지 않을 경우 jars를 변경하고 해당 jars가 사용 중인 Java 버전과 호환되는지 여부를 검색합니다.spring 3.x는 Java 8과 호환되지 않습니다.
Java 8 또는 다음 버전을 사용하는 경우 spring 버전을 업그레이드해야 하며 spring 버전은 4.xxx이어야 합니다.
이 문제를 해결하려면 Java 8에서 스프링4를 사용할 수 있습니다.방금 시험해 봤는데 효과가 있어요.이 문제는 Spring 3.2.9-RELEASE 버전 이후 수정되었습니다.
언급URL : https://stackoverflow.com/questions/22526695/java-1-8-asm-classreader-failed-to-parse-class-file-probably-due-to-a-new-java
'programing' 카테고리의 다른 글
Java Collections에서 Primitive 유형을 직접 저장할 수 없는 이유는 무엇입니까? (0) | 2022.12.01 |
---|---|
BeforeRouteEnter 함수 및 Vuex 문제 (0) | 2022.12.01 |
일정 기간 유휴 상태 후 MariaDB가 작동하지 않음 (0) | 2022.12.01 |
루프가 정말 역방향으로 더 빠릅니까? (0) | 2022.12.01 |
mysqldump는 [client]설정 섹션에서 호출기가 설정되어 있는 경우 실패한다. (0) | 2022.12.01 |