JAR, WAR 차이점 및 특징

Yoon·2022년 10월 6일
0

JAR(Java Archive) WAR(Web Application Archive) 모두 Java의 jar 툴을 이용하여 생성된 압축(아카이브) 파일

어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이 주 역할이다.


JAR (Java Archive)

.jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다.
쉽게 JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각하면 된다.
실제로 JAR 파일은 플랫폼에 귀속되는 점만 제외하면 WIN ZIP파일과 동일한 구조이다.

JRE 파일은 원하는 구조로 구성이 가능하며 JDK(Java Development Kit)에 포함하고 있는 JRE(Java Runtiome Environment)만 가지고도 실행이 가능하다.


WAR (Web Application Archive)

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

JSP, SERVLET, JAR, CLASS, XML, HTML, JAVASCRIPT 등 Servlet Context 관련 파일들로 패키징 되어있다.

WAR는 웹 응용 프로그램을 위한 포맷이기 때문에 웹 관련 자원만 포함하고 있으며 이를 사용하면 웹 어플리케이션을 쉽게 배포 하고 테스트 할 수 있다.

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


JAR / WAR 한눈 비교

JAR

  • JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일
  • Class (JAVA리소스, 속성 파일), 라이브러리 파일을 포함함
  • JRE(JAVA Runtime Environment)만 있어도 실행 가능함 (java -jar 프로젝트네임.jar)

WAR

  • Servlet / Jsp 컨테이너에 배치할 수 있는 웹 어플리케이션 압축파일
  • 웹 관련 자원을 포함함 (JSP, Servlet, JAR, Class, XML, HTML, JS)
  • 사전 정의된 구조를 사용함 (WEB-INF, META-INF)
  • 별도의 웹서버(WEB) or 웹 컨테이너(WAS) 필요
  • 즉, JAR파일의 일종으로 웹 애플리케이션 전체를 패키징 하기 위한 JAR 파일이다.

profile
나의 공부 일기

0개의 댓글