코드프레소 백엔드 개발자 양성 과정
JAR과 WAR과 EAR
예제를 접하거나 서적을 읽다보면 유난히 자주 접하게 되는 파일 확장자명이 있다. 바로 .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의 특징과 차이점에 대해 알아보았다. 맡은 프로젝트의 규모와 용도에 어울리는 형태의 압축 방식으로 배포를 할 줄 알아야겠다.