문제 상황
springboot 프로젝트로 생성한 war 파일을 리눅스에서 실행하던 중 500 오류가 발생했다
최초 배포가 아닌, 수정사항 반영후 재 배포한 상태에서 갑자기 뜬 오류였고 이에 대한 해결과정을 다뤄보고자 한다.
내용 :
WARN 10:55:01.827 [main] org.apache.tomcat.util.scan.StandardJarScanner[log:175] - Failed to scan JAR [war:file:/home/folder/project.war*/WEB-INF/lib/spring-security-taglibs-5.2.0.RELEASE.jar] from /WEB-INF/lib
java.io.IOException: Unable to open root Jar file 'war:file:/home/folder/program .war*/WEB-INF/lib/spring-security-taglibs-5.2.0.RELEASE.jar'
.... ( 생략 )
ERROR 11:15:45.416 [http-nio-8080-exec-1] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[jsp][log:175] - Servlet.service() for servlet [jsp] threw exception
org.apache.jasper.JasperException: /WEB-INF/tiles/layout/emptyLayout.jsp (line: [2], column: [0]) The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application
설명 :
.jar 파일을 스캔에 실패하고,, jsp 서블릿을 사용하는데 예외가 발생했다는 것 같음
하지만 로컬에서 같은 war 파일을 실행할 때는 아무 문제가 없었다.
해결 과정
방법 1.
JSTL 라이브러리 존재여부 확인
해당 에러는 JSTL(JavaServer Pages Standard Tag Library) 가 정상적으로 로드되지 않아서 발생할 수 있다고한다.
리눅스 내에서 .war 파일 내에 JSTL 이 정상적으로 로드되고 있는지 명령어를 통해 확인해 보자
jar tf project.war | grep jstl
결과 )
jstl 라이브러리가 정상적으로 해당 경로에 위치하고 있다.
방법 2.
java version 확인
JSTL 은 Java EE 기반이기 때문에 JDK 8, 7, 11, 17 같은 LTS 버전에서 실행해야 한다 !
JDK 9 버전 이상일 경우에는 Java EE 관련 라이브러리를 추가해야할 수 도 있다고 하는데...
프로젝트의 jdk version 은 1.8 이고 로컬 내에 java 경로 또한 1.8로 잘 잡혀 있었다.
이때 문득 든 생각. "리눅스의 java version 은 ?? "
리눅스 내 자바 경로 검색 )
readlink -f $(which java)
어떤 연유에서인지 jdk 17 로 설정되어 있었다.........
리눅스내 설치된 자바 버전 확인 및 경로 수정 )
sudo update-alternatives --config java
해당 명령어를 입력하면 설치된 jdk 경로와 함께 number를 선택할 수 있다.
내가 사용할껀 jdk 1.8 !! ( war 프로젝트의 jdk 설정 버전이기 때문 )
1 을 입력하고 엔터를 치면 된다.
요약
리눅스 내에 설정한 jdk 경로와 실행하고자 했던 프로젝트의 jdk 버전이 맞지 않아서 발생한 500 에러 !
-> 리눅스 내에 JDK 경로를 변경해 줌으로서 해결
TIL 오늘도 하나 배웠다 !!!
![](https://t1.daumcdn.net/keditor/emoticon/face/large/073.png)
'TIL' 카테고리의 다른 글
TIL | Quartz 에서 Clustering 기능의 의미 (1) | 2025.02.05 |
---|---|
TIL | IntelliJ SVN 설정 (0) | 2024.10.13 |
TIL | 배포시 WAR, WAR exploded 의 차이 (0) | 2024.08.12 |
TIL | NumberFormatException - for input string y (0) | 2024.06.19 |
TIL | DBeaver 사용시 서버가 계속 끊기는 문제 (1) | 2024.06.18 |