본문 바로가기
JAVA

2. WAR 파일 패키징

by coldplayer83 2025. 11. 18.
728x90
반응형

WAR 파일 구조

myapp.war
 ├── index.jsp
 ├── static/
 └── WEB-INF/
       ├── web.xml
       ├── classes/
       └── lib/

 

jar 명령은 현재 위치를 WAR의 root로 삼음

 

/home/myapp/
   ├── WEB-INF/
   ├── index.jsp
   └── images/

ex) 다음과 같은 디렉토리 구조일 때 WAR 파일로 패키징하고 싶다면 /home/myapp 경로에서 jar cvf myapp.war * 를 실행해야 함

(=WEB-INF가 있는 경로에서 실행)

만약 상위 디렉토리인 /home에서 패키징을 한다면 WAR 내부 구조는 아래와 같이 됨

myapp/WEB-INF/...
myapp/index.jsp

👉 WEB-INF가 루트에 있지 않고 myapp/안에 들어감 → WAS가 WAR로 인식 못함

따라서 반드시 WEB-INF가 위치한 디렉토리를 루트로 삼아 패키징해야 함

 

WAS(Tomcat, JBoss, WebLogic...)는 WAR 배포 시 다음 규칙을 찾음

/WEB-INF/web.xml
/WEB-INF/classes
/WEB-INF/lib


이 경로는 무조건 WAR의 루트 기준으로 찾기 때문에 이렇게 되면 인식이 안 됨
myfolder/WEB-INF/web.xml   (X)

이렇게 되어야 작동
WEB-INF/web.xml     

728x90
반응형

'JAVA' 카테고리의 다른 글

1. Java cacerts 인증서 설정  (0) 2025.01.13