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) 사용 |
설정 용이성 | 간단한 설정, 빠른 실행 가능 | 복잡한 설정, 서버와의 통합 필요 |
장점 | 간편한 배포, 서버 설정 불필요, 경량화 | 서버 통합 용이, 확장성 제공, 기존 시스템과 호환성 유지 |
단점 | 확장성 부족, 서버 제어 불가 | 서버 설정 및 관리 필요, 배포 과정 번거로움 |
'Backend > Spring' 카테고리의 다른 글
API 문서화 : Swagger, Spring REST Docs (0) | 2025.03.19 |
---|---|
CGLIB 프록시 (0) | 2025.03.01 |
[Spring Boot/Gradle] spring-dev-tools 추가 (0) | 2025.01.20 |
Java Validation, Spring Validation (0) | 2024.03.25 |
Spring Security Architecture / 스프링 시큐리티 구조 (1) | 2023.11.20 |
댓글