티스토리 뷰
1. 현상
: 배포를 하면 프로젝트가 실행은 되는데 실행 전에 많은 로그들을 남겼다.
로그의 에러는 모두 같았다.
org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry
[module-info.class] from Jar
[file: ~.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
2. 해결
: 서칭을 해보면 대부분 java 버전과 Tomcat 버전이 서로 맞지 않아서 나타나는 에러로그라고 나온다.
19이면 java 9를 사용해야 하는데 java 버전이 그보다 낮아서 생기는 것이라고....
운용환경은 java 1.8 이고, Tomcat 버전은 8.5 를 사용하고 있는데 검색해보면 별 문제 없는 조합이다.
java 9를 설치해야 하나.... 고민하던 찰나, 3. 참고 사이트에서 답을 찾았다. (사실 다른 누군가가 찾아준.... ㅠㅠ)
이것은 Tomcat 버그이고 이 문제가 해결된 버전의 Tomcat을 사용하면 된다.
- Tomcat 9.0.x : 9.0.0.M18 이후
- Tomcat 8.5.x : 8.5.12 이상
- Tomcat 8.0.x : 8.0.42 이상
- Tomcat 7.0.x : 7.0.76 이상
내 경우는 Tocmat 8.5.9 였다.
4. 아래 표 출처 : http://blog.naver.com/PostView.nhn?blogId=bestheroz&logNo=221321296597
java와 Tomcat 버전 말고도 servlet과 jsp 버전도 서로 맞아야 한다.
Servlet Spec |
JSP Spec |
Apache Tomcat Version |
Supported Java Versions |
4.0 |
2.3 |
9.0.x |
1.8 이상 |
3.1 |
2.3 |
8.5.x |
1.7 이상 |
3.1 |
2.3 |
8.0.x (superseded) |
1.7 이상 |
3.0 |
2.2 |
7.0.x |
1.6 이상 |
2.5 |
2.1 |
6.0.x (archived) |
1.5 이상 |
2.4 |
2.0 |
5.5.x (archived) |
1.4 이상 |
'Tomcat' 카테고리의 다른 글
[Tomcat] 버전 확인 (feat. tomcat 위치 찾기) (0) | 2022.12.29 |
---|---|
[Tomcat에러] ResultSet.getXXX(colName): could not look up name (0) | 2019.07.08 |
[Tomcat에러] Result Maps collection already contains value for ... (0) | 2019.07.04 |
[Tomcat에러] Port **** required by Tomcat v** Server at localhost is already in use. (0) | 2019.04.24 |