Apache-Tomcat [Tomcat 7] org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
sitelink1 | https://dogcowking.tistory.com/43 |
---|---|
sitelink2 | |
extra_vars5 | |
extra_vars6 |
수년전 사용했던 tomcat7 을 실행하니 갑자기 제목과 같은 오류가 발생함
* 환경
- apache-tomcat-7.0.5
- jdk1.8.0_92
* 오류 로그
... 생략
Caused by: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131)
at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209)
... 생략
* 원인
톰캣 자체 버그로 보는 의견
- https://bz.apache.org/bugzilla/show_bug.cgi?id=57173#c16
- https://www.mkyong.com/tomcat/tomcat-7-java-8-invalid-byte-tag-in-constant-pool-15/
자바 1.8과 tomcat 7 의 충돌로 보는 의견
- http://stackoverflow.com/questions/23541532/org-apache-tomcat-util-bcel-classfile-classformatexception-invalid-byte-tag-in
설정 문제로 보는 의견
- http://stackoverflow.com/questions/6751920/tomcat-7-servlet-3-0-invalid-byte-tag-in-constant-pool/12730059#12730059
오류가 나는 프로젝트의 web.xml 의 <web-app> 요소에 metadata-complete="true" 를 설정하라고 함.
* 자바 버전 변경 시도 [실패]
- http://dogcowking.tistory.com/42
위 내용 참고하여 자바 버전을 1.7로 변경해봤으나 아무런 반응 없었음.
* web.xml 설정 변경
오류가 나는 프로젝트의 web.xml 의 <web-app> 요소에 metadata-complete="true" 를 설정
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"
metadata-complete="true">
- 성공함.