https://stackoverflow.com/questions/5871053/difference-between-jar-and-war-in-java
JAR와 WAR 공통점
- JAR와 WAR 모두 Java의 jar 명령어로 생성된 압축 파일
- 애플리케이션 관련 파일(리소스, 속성 파일 등)을 패키징하여 배포와 실행 용이
JAR (Java ARchive)
- 목적: Java 애플리케이션 실행용 압축 파일
- 내용: Java 클래스 파일, 라이브러리, 리소스 파일
- 요구사항: JRE만 있으면 실행 가능 (java -jar 프로젝트명.jar)
- 특징
- 독립 실행형 애플리케이션
- 내장 서버 포함 가능
- 부트에서 가이드하는 표준은 JAR(JSP, 외장톰켓 사용하지 않음)
WAR (Web Application ARchive)
- 목적: 웹 애플리케이션 배포용 압축 파일
- 내용: JSP, Servlet, JAR, 클래스 파일, XML, HTML, JavaScript 등
- 요구사항: 웹 서버(WEB) 또는 웹 애플리케이션 서버(WAS) 필요
- 특징: 사전 정의된 구조(WEB-INF, META-INF) 사용
JAR vs WAR
| 특성 |
JAR (Java ARchive) |
WAR (Web Application ARchive) |
| 목적 |
Java 애플리케이션 배포 |
웹 애플리케이션 배포 |
| 내용 |
Java 클래스 파일, 라이브러리, 리소스 파일 등 |
JSP, Servlet, JAR, 클래스 파일, XML, HTML, JavaScript 등 |
| 요구사항 |
JRE만 있으면 실행 가능 |
웹 서버(WEB) 또는 웹 애플리케이션 서버(WAS) 필요 |
| 구조 |
자유롭게 구성 |
사전 정의된 구조 (WEB-INF, META-INF) 사용 |
| 설정 용이성 |
간단한 설정, 빠른 실행 가능 |
복잡한 설정, 서버와의 통합 필요 |
| 장점 |
간편한 배포, 서버 설정 불필요, 경량화 |
서버 통합 용이, 확장성 제공, 기존 시스템과 호환성 유지 |
| 단점 |
확장성 부족, 서버 제어 불가 |
서버 설정 및 관리 필요, 배포 과정 번거로움 |
댓글