본문 바로가기
Java

WAR, JAR , EAR 파일 이란

by byeongoo 2020. 1. 4.

자바를 사용하다보면 배포를 jar로 하거나 war 파일로 하는데 무슨 차이점이 있나 한번 알아보았습니다. 2가지 모두 어플리케이션 소스들을 배포할 시에 path 등의 설정에서의 애로사항을 제거하기 위해 탄생한 압축방식입니다. 이 압축파일들은 압축의 해제없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되어있습니다. 이렇게 파일을 압축하는 이유는 파일의 용량이 줄어들고, 관리하기 편하기 때문입니다.

1. JAR(Java Archive, 자바 아카이브)

JAR는 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷입니다. 컴퓨터 사용자들은 JDK에 포함된 jar 명령어를 이용하여 JAR 파일을 만들거나 압축을 풀 수 있습니다. 

2. WAR(Web Archive, 웹 아카이브)

WAR는 JAR과 달리 웹 어플리케이션(Web Application)을 지원하기 위한 압축 방식입니다. 웹 어플리케이션을 지원하기 위해서 war 압축방식은 jsp, servlet, gif, html, jar 등을 압축하고 지원합니다. (servlet context 접근을 위해 관련된 모든 파일들을 패키지화)

3. EAR(Enterprise Archive, 엔터프라이즈 아카이브)

하나의 웹 어플리케이션(Web Application) 단위를 넘어 실제 서버에서 배포하기 위한 단위입니다. 이를 위해서 jar와 war를 묶어서 가각의 기능을 지원합니다.

REFERENCE