Web 지식
JAR와 WAR 특징과 차이점
아이스올리
2024. 1. 27. 17:30
● JAR란?
- Java의 jar옵션을 이용해 생성된 압축 파일.
- 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일을 패키징 한 것.
- Class(Java의 리소스, 속성 파일), 라이브러리 파일을 포함.
- JRE(Java Rintime Environment)만 있어도 실행 가능.
● WAR란?
- Java의 jar옵션을 이용해 생성된 압축 파일.
- 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일을 패키징 한 것.
- Servlet/JSP 컨테이너에 배치할 수 있는 웹 어플리케이션 압축파일 포맷.
- 웹 관련 자원을 포함(JSP, Servlet, JAR, Class, xml, HTML, Javascript)
- 사전 정의된 구조를 사용.(WEB-INF, META-INF)
● JAR과 WAS의 차이점
- JAR은 JRE만 존재하면 프로젝트 구동이 가능하지만 WAS는 별도의 웹 서버, 웹 컨테이너가 있어야 구동이 가능.
● 결론
- JAR이나 WAS 둘 다 리소스를 패키징 하는 방법에 차이가 있을뿐, 결국 Java의 jar옵션을 이용해 생성된 압축 파일이므로 큰 차이는 없다.
- 기본적으로 Spring Boot로 프로젝트를 만들경우에는 JAR이 표준이므로 JAR를 선택하는 게 편한듯 하다.
- 다만, JSP를 이용하여 화면을 구성하거나 외장 WAS를 사용할 경우는 WAR를 사용하자.