른록노트

[Spring] Caused by: 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: -에러 본문

Web/[Spring]

[Spring] Caused by: 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: -에러

른록 2018. 9. 15. 18:06

@ 에러


Caused by: 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:



; nested exception is java.lang.IllegalArgumentException

    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:56)

    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)

    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)

    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:266)

    ... 64 more 


@ 원인

스프링 3.2 버전을 java 8로 컴파일 하면 발생하는 에러
spring core의 asm이 java 8을 지원하지 않는다. (참고로 3.2.4 부터 spring-asm 모듈은 spring-core로 흡수되고, 사라졌다) 3.2.9부터 spring asm이 java 8 byte code을 인식할 수 있다. 하지만, fully가 아닌 best effort 수준이다. 완벽한 java 8은 spring 4부터 사용 가능하다.
(참고로 asm 모듈은 바이트 코드 분석 및 생성 역할을 한다.)



참고사이트

http://knight76.tistory.com/entry/java7-java8-%EC%A0%84%ED%99%98-with-spring-32

https://jira.spring.io/browse/SPR-11719

https://jira.spring.io/browse/SPR-11656

반응형
Comments