ClassFormatException: 상수 풀의 잘못된 바이트 태그
배경:
웹 포팅 중 Tomcat 7에서 동일한 Tomcat 버전을 사용하지만 Java 8을 사용하는 다른 서버에 애플리케이션을 적용할 때 Tomcat이 성공적으로 시작되었지만 catalina.out 로그에 오류가 발생한 것으로 관찰되었습니다.
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
원인:
이 오류는 Tomcat에서 사용하는 BCEL(Bytecode Engineering Library) 문제로 인해 새로운 Java 8 바이트 코드를 처리하는 데 어려움이 있기 때문에 발생합니다.
해결책 1: 비활성화 주석 검색
web.xml에서 주석 검색이 활성화된 경우(metadata-complete="true") 이를 비활성화하면 오류 없이 애플리케이션을 실행할 수 있습니다.
해결책 2: Tomcat 7.0.53 이상으로 업데이트
Tomcat 7.0.53부터 컴파일러는 향상된 Java 8 지원으로 업데이트되었습니다. 이 업데이트는 주석 검사 및 Java 8 이외의 코드를 사용하는 애플리케이션의 문제를 해결합니다.
해결책 3: 특정 Jar 파일 건너뛰기
주석 검사가 필요하고 애플리케이션이 Java 8 코드를 활용하는 경우 catalina.properties에 다음 줄을 추가합니다.
junit.jar,junit-*.jar,ant-launcher.jar,\ jfxrt.jar,nashorn.jar
주석 스캔 중에 해당 Jar 파일을 건너뛰려면
위 내용은 다음은 질문과 답변 형식을 염두에 두고 몇 가지 제목 옵션입니다. 짧고 요점: * ClassFormatException: 상수 풀의 잘못된 바이트 태그 - 이유 및 해결 방법은 무엇입니까? * 톰캣 7의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!