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 |
|---|