지구용사 2024. 6. 4. 11:49

JAR(Java ARchive)와 WAS(Web ARchive)는 JAVA 어플리케이션을 패키징하는 방식이다.

 

JAR(Java ARchive)

독립적인 Java 애플리케이션을 패키징할 수 있어 개발자가 쉽게 실행할 수 있다.\

Java 애플리케이션의 진입점인 main 메소드를 포함하고 있어 JVM에서 직접 실행하기에 별도의 웹 컨테이너나 서버가 필요하지 않다.

압축된 형식으로 클래스, 리소스, 라이브러리 등 포함되어 배포되기에 전달에도 용이하다.

그러나 JSP, 서블릿 컨테이너에 대한 표준 기능을 활용하기 어려우며 동적인 웹 컨텐츠 생성 및 관리가 제한적이다.

 

WAR(Web ARchive)

Java 웹 애플리케이션을 패키징하는 데 최적화되어, 서블릿 컨테이너(웹 컨테이너)에서 필요한 설정 파일, 라이브러리, 리소스 등 포함하여 한번에 배포 및 실행을 할 수 있다.

웹 컨테이너를 통해 애플리케이션을 실행하므로 다양한 웹 기능과 서버 환경을 활용할 수 있다.

그러나 웹 컨테이너와 서버에 종속적이라 특정 웹 컨테이너가 필요하며 JAR 파일보다 크기게 번거롭다.

 

🏷️ 정리

JAR은 독립적으로 실행 가능한 애플리케이션을 구성하는 것에 목표로 하고, WAR는 웹 환경에서 실행되는 애플리케이션을 구성하는 것을 목표로 한다.