VS시리즈 - JAR vs WAR

김현교·2023년 12월 12일
0

VS시리즈

목록 보기
1/12

Jar vs War

JAR와 WAR는 Java 언어에서 사용되는 파일 형식

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

JAR란

  • JAR (Java ARchive)
  • JAR 파일은 Java 클래스, 리소스 및 메타데이터를 포함하는 아카이브 파일
  • Java 어플리케이션, 라이브러리, 혹은 모듈을 배포하는 데에 사용
  • JAR 파일은 ZIP 파일 포맷을 사용하며, Java 클래스 파일, 리소스 파일 (이미지, 프로퍼티 파일 등), 라이브러리, Manifest 파일 등을 포함할 수 있음
  • 원하는 구조로 구성이 가능하며 JDK에 포함하고 있는 JRE만 가지고도 실행이 가능

WAR란

  • WAR (Web ARchive)
  • WAR 파일은 Java 웹 애플리케이션을 배포하기 위한 아카이브 파일
  • 웹 애플리케이션을 구성하는 JSP, HTML, 서블릿, 클래스 파일 등과 같은
    웹 어플리케이션 리소스를 패키징하는데 사용
  • WAR 파일은 JAR 파일의 확장이며, 웹 애플리케이션을 배포할 때 웹 서버에 배치되는 파일
  • WEB-INF, META-INF 등의 특정 디렉터리 구조를 따라야 함
  • 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버 또는 웹 컨테이너(WAS)가 필요

차이점

JAR

  • 일반적으로 Java 어플리케이션의 패키징에 사용
  • 개별적인 Java 애플리케이션, 라이브러리, 혹은 모듈을 단독으로 실행하고 배포할 때 사용

WAR

  • Java 웹 애플리케이션의 패키징에 사용
  • 웹 애플리케이션을 구성하는 HTML, JSP, 서블릿, 클래스 파일 및 리소스들을 패키징하여
    배포할 때 사용
  • 웹 애플리케이션의 모든 파일과 설정을 WAR 파일로 패키징하여 웹 서버에 배포

EAR이란

  • EAR (Enterprise ARchive)
  • Java EE 애플리케이션을 패키징하는 데 사용되는 파일 확장자
  • 주로 기업 수준의 대규모 애플리케이션을 다룰 때 활용

결론

  • WAR와 JAR 모두 압축된 아카이브 파일
  • WAR는 JAR이지만, JAR는 WAR가 아님
  • WAR는 'Servlet Container' 에서 사용

profile
내가 공부하면서 궁금했던 걸 올리는 개발 블로그

0개의 댓글