코드프레소 백엔드 개발자 양성 과정

JAR과 WAR과 EAR

JAR과 WAR과 EAR의 용도와 차이에 대해 알아본다.

H Lee
2 min readJan 2, 2020
Image by monicore from Pixabay

예제를 접하거나 서적을 읽다보면 유난히 자주 접하게 되는 파일 확장자명이 있다. 바로 .jar이다. 이것이 무슨 뜻인지 알아보고 .war.ear라는 유사한 확장자명과 어떻게 다른지 알아보겠다.

JAR

JAR은 Java Archive의 약자로 자바에서 사용되는 압축 파일의 한 형태이다. 그 작동 방식은 흔히 자료 압축을 위해 사용되는 .zip과 유사하나 .jar 파일은 압축을 따로 해제하지 않아도 JDK에서 접근하여 사용할 수 있도록 지원한다. 이 형식은 또한 경로 설정 문제로부터 자유롭다.

.jar파일들은 일반적으로 라이브러리, 자바 클래스 및 해당 리소스 파일 (텍스트, 음성, 영상 자료 등), 속성 파일들을 담는다.

WAR

WAR은 Web Archive의 약자로 웹 애플리케이션을 압축하고 배포하는데 사용되는 파일 형태이다. .war 파일도 압축 파일의 일종이라는 점에서 .jar과 비슷하다.

하지만 WAR는 자바 클래스, 자바 서버 페이지, XML, 자바스크립트, 정적 웹 페이지 등의 자원을 한데 모아 웹 애플리케이션의 배포를 가능케 한다는 점에서 차이가 있다. 또한 .jar 파일과 달리 .war 파일은 배포 서술자라고도 불리는 web.xml을 통해 경로를 반드시 지정해줘야 웹 애플리케이션 서버가 이를 실행할 수 있다.

EAR

이 외에도 배우는 입장에서는 접하기 어렵지만 EAR라는 파일 형태가 있다. EAR은 Enterprise Archive의 약자로 웹 애플리케이션을 초월하는 규모에서 실제 서버에 배포하기 위해 사용된다. EAR는 비즈니스 단위의 작업을 처리하는 JAR과 웹 애플리케이션 단위의 기능을 수행하는 WAR를 포괄적으로 지원한다.

위와 같이 JAR, WAR, EAR의 특징과 차이점에 대해 알아보았다. 맡은 프로젝트의 규모와 용도에 어울리는 형태의 압축 방식으로 배포를 할 줄 알아야겠다.

--

--

No responses yet