본문 바로가기
Study/Java

[Java] JAR WAR 차이점 및 특징

by 오늘만 사는 여자 2021. 11. 5.
728x90
반응형

JAR (Java Archive) WAR (Web Application Archive) 모두 JAVA의 jar툴을 이용하여 생성된 압축(아카이브) 파일이며 어플리케이션을 쉽게 베포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이 주 역할입니다.

 

Maven등을 통해 내려받는 라이브러리들은 Class 파일들이 묶인 jar파일로 구성되어 있는 것을 확인 하실 수 있다.

그리고 서비스 배포시에는 프로젝트를 war포맷으로 묶어서 webapps 드으이 지정된 경로에 넣고 Tomcat 등의 웹 컨테이너(Web Container)를 이용하여 deploy하는 식으로 서비스를 많이 올리곤 했다. 그럼 이처럼 우리에게 익숙한 JAR / WAR 파일의 특징과 차이점을 간단히 보자

 

JAR (Java Archive)

.jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다.

쉽게 JAVA 애플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각하면 된다. 실제로 Jar 파일은 플랫폼에 귀속되는 점만 제외하면 WIN ZIP 파일과 동일한 구조이다.

 

jar 파일은 원하는 구조로 구성이 가능하며 JDK에 포함되어 있는 JRE만 가지고도 실행이 가능하다.

 

WAR (Web Application Archive)

.war 확장자 파일은 servlet / jsp 컨테이너에 배치 할 수 있는 웹 애플리케이션 압축파일 포맷이다.

JSP, Servlet, Jar, class, XML, HTML, Javascript 등 Servlet Context 관련 파일들로 패키징 되어있다. war는 웹 응용 프로그램을 위한 포맷이기 때문에 웹 관련 자원만 포함하고 있으며 이를 사용하면 웹 애플리케이션을 쉽게 배포하고 테스트 할 수 있다. 

 

원하는 구성을 할 수 있는 jar 포맷과 달리 war은 WEB-INF 및 META-INF 디렉토리로 사전 정의딘 구조를 사용하며 WAR 파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버(WEB) 또는 웹 컨테이너(WAS)가 필요하다.

 

WAR 파일도 Java의 jar 옵션(java-jar)을 이용해 생성하는 Jar 파일의 일종으로 웹 어플리케이션 전체를 패키징 하기 위한 jar 파일로 생각하면 될거 같다.

 

EAR(Enterprise Archive)

EAR 파일은 JAVA EE(Enterpirse Edition) 쓰이는 파일 형식으로 한 개 이상의 모듈을 단일 아카이브로 패키징 하여 애플리케이션 서버에 동시에 일관적으로 올리기 위하여 사용되는 포맷

 

참조 : https://ifuwanna.tistory.com/224

728x90
반응형

댓글