JAVA

[JAVA] JAR, WAR의 개념과 차이점

Yoon 2021. 11. 8. 10:09

JAR란?

.jar 확장자 파일에는 .Class와 같은 자바 리소스 파일, 라이브러리 등과 같은 파일이 포함되어 있음.

자바 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일이라고 생각하면 됨.

 

.jar 파일은 원하는 구조로 구성할 수 있으며, JDK(Java Development Kit)에 포함하고 있는

JRE(Java Runtime Environment)로 실행이 가능함.


WAR란?

.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파일로 생각하면됨.