lottie
Seungjun's blog
blog
JAR (Java Archive) 와 WAR (Web Archive)

JAR (Java Archive) 그리고 WAR (Web Archive)

JAR (Java Archive) 와 WAR (Web Archive)은 Java 어플리케이션을 패키징하고 배포하기 위한 두 가지 주요 형식입니다.

각각은 다른 용도와 환경에서 사용됩니다.

JAR (Java Archive)

1.목적

JAR 파일은 Java 어플리케이션을 패키징하고 배포하기 위한 아카이브 형식입니다.

JAR 파일은 Java 클래스와 리소스를 포함하며, 보통 라이브러리 혹은 실행 가능한 어플리케이션으로 패키징할 때 사용됩니다.

예를 들어, Spring 프레임워크의 각 모듈은 JAR 파일로 제공되며, 자바 라이브러리 역시 JAR 형식으로 배포됩니다.

2. 포함 내용

  • Java 클래스 파일

  • 리소스 파일 (이미지, 프로퍼티 파일 등)

  • 라이브러리 파일 (다른 JAR 파일들)

  • 메타데이터 파일 (Manifest 등)


3. 사용 사례

  • Java 어플리케이션 배포

  • 라이브러리 배포

  • 단독 실행 가능한 Java 애플리케이션

WAR (Web Archive)

1. 목적

WAR 파일은 Java 웹 어플리케이션을 패키징하고 배포하기 위한 아카이브 형식입니다. WAR 파일은 Java EE 서버에서 실행되는 웹 어플리케이션을 패키징할 때 주로 사용됩니다.

이 파일 형식은 웹 어플리케이션의 구성 요소를 포함하고, Java EE 서버에서 실행할 때 필요한 모든 것을 제공합니다.

예를 들어, Tomcat, WebLogic, JBoss와 같은 Java EE 서버에서 배포되고 실행됩니다.



2. 포함 내용

  • 웹 어플리케이션을 구성하는 HTML, JSP, Servlet 클래스 등

  • 웹 어플리케이션의 설정 파일 (web.xml 등)

  • 라이브러리 파일 (WEB-INF/lib 디렉토리에 위치)

  • 정적 자원 파일 (CSS, JavaScript, 이미지 등)


3. 사용 사례

Java EE (Enterprise Edition) 서버에서 실행되는 웹 어플리케이션 배포

Servlet, JSP, JavaBeans 등을 포함한 웹 어플리케이션 배포


JAR ,WAR 주요 차이점

1. 용도

  • JAR: Java 어플리케이션 및 라이브러리 패키징

  • WAR: Java 웹 어플리케이션 패키징


2. 내용

  • JAR: Java 클래스, 리소스, 라이브러리, 메타데이터

  • WAR: HTML, JSP, Servlet 등의 웹 어플리케이션 구성 요소, 설정 파일, 라이브러리, 정적 자원


3. 배포 환경

  • JAR: Java 어플리케이션의 독립적인 실행 또는 라이브러리로 사용

  • WAR: Java EE 서버에서 실행되는 웹 어플리케이션 배포


요약

  • JAR는 Java 어플리케이션을 패키징하고 실행하는 데 사용.

  • WAR는 Java EE 서버에서 실행되는 웹 어플리케이션을 패키징하는 데 사용.