울음참고 개발공부
article thumbnail
728x90

 

 

 

문제 상황

 

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 오늘도 하나 배웠다 !!!

 

 

 

 

 

 

728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!