본문 바로가기

개발/Java

jar vs war

패키징 차이 (jar, war)

 

1. JAR

JAR는 Java Archive의 줄임말이며 java 클래스 파일, java 라이브러리, 어플리케이션 리소스, 메타데이터 파일들을 가지고 있는 압축 파일입니다. jar 파일은 jar 커맨드나 maven, gradle과 같은 툴로 생성할 수 있습니다.

 

2. WAR

WAR는 Web Application Archive, Web Application Resource의 줄임말입니다. war는 어떤 웹 컨테이너에도 배포 할 수 있는 압축 파일입니다. WAR는 WEB_INF라는 디렉토리를 포함하고 있으며 이 폴더 안에는 웹 리소스들이 포함되어 있습니다. 그리고 web.xml, 서블릿 클래스, 라이브러리들을 가지고 있습니다. war 파일 역시 jar 커맨드나 maven, gradle 과 같은 툴로 생성할 수 있습니다.

 

3. 차이점

a. 확장자명 - jar, war

b. 목적 - jar 파일은 라이브러리, 플러그인 이외에도 어떠한 어플리케이션으로도 동작할 수 있습니다. 하지만 war는 웹 어플리케이션에만 사용됩니다.

c. 파일의 구조 - jar는 어떠한 형태의 파일 구조도 가질 수 있습니다. 이에 반해 war는 WEB-INF와 META-INF 폴더들을 반드시 포함해야하는 구조입니다. 

4. 실행 - jar는 파일을 빌드 할때 실행 가능한 jar 파일로 빌드하면 jar 커맨드로 간단히 실행이 가능합니다. 하지만 war 파일은 실행 하려면 반드시 WAS가 따로 필요합니다.

'개발 > Java' 카테고리의 다른 글

Import vs Import static  (0) 2021.06.17
Shallow copy와 Deep copy  (0) 2021.03.25
암호화란? (ECB 샘플 코드)  (0) 2021.03.16
Java 배열 정렬  (0) 2021.02.22
Scanner vs BufferedReader 비교  (0) 2021.02.10