요르딩딩

[Spring 분석] (No.3) Jar, War, Ear란 본문

[Web]/[Spring]

[Spring 분석] (No.3) Jar, War, Ear란

요르딩딩 2021. 9. 6. 14:32
728x90
반응형

jar, war란 (ver.1)

https://hyeounstory.tistory.com/74?category=849984 

 

ver.1에 이어서 jar, war에 대한 설명을 다시 정리해 보려합니다. 

 

Jar, War, Ear란

  • 모두 자바의 jar툴을 이용하여 생성된 압축(아카이브) 파일이며, 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 역할을 합니다.
  • 파일 규모 :ear > war > jar > class

JAR

  • 자바 클래스 파일과 관련 소스파일 및 메타데이터을 압축한 파일입니다.
  • 하나의 Application 기능이 가능하도록 java파일을 압축하고 지원합니다.
  • java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각할 수 있습니다.
  • Jar는 Java 어플리케이션 소스를 배포할 때, path등의 설정으로 인한 이슈를 제거하기 위해 만들어진 압축 방식입니다.
  • Jar 방식은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되었습니다.
  • jar는 웹으로 배포하지 않은 java class 파일과 EJB 파일을 가집니다.

WAR

  • war는 servlet, jsp 컨테이너에 배치 할 수 있는 웹 어플리케이션 압축 파일 포맷입니다.
    jsp, servlet, jar, class, xml , html, javascript 등 servlet context 관련 파일들로 패키징 되어 있습니다.
  • War는 웹 프로젝트에서 배포를 위한 최소한의 단위입니다.
  • War는 단독으로 실행되지 않으며 WAS에 의해 실행되어야 하므로 배포에 대한 메타정보(web.xml)이 포함되어 있습니다.
  • war은 jar와 달리 웹 어플리케이션을 지원하기 위한 압축방식입니다.

EAR 

  • 하나의 웹 어플리케이션 단위를 넘어 실제 서버 배포를 위한 단위
  • ear은 엔터프라이즈 애플리케이션에 필요한 jar이나 war 같은 모든 파일을 포함합니다.

차이

  • 사용되는 목적에 따라 압축되는 파일 범위만 다른 같은 압축파일.
  • Jar는 일반 Java Application을 위한 압축 포맷입니다. 반면에 War는 Java WebApplication을 위한 압축 포맷입니다.
  • Jar는 구조를 원하는 대로 지정할 수 있습니다. 반면에 War는 WEB-INF 및 META-INF 디렉토리로 사전 정의된 구조를 사용합니다.
  • Jar 파일을 JDK 있다면 바로 실행할 수 있지만, War 파일을 실행하려면 WAS 반드시 필요합니다.
728x90
반응형
Comments