Java/일반

Jar과 War의 차이

창욱씨 2020. 4. 3. 15:07

1. Jar(Java Archive)

 Jar는 Java 어플리케이션 소스를 배포할 때, path등의 설정으로 인한 이슈를 제거하기 위해 만들어진 압축 방식입니다. Jar 방식은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되었습니다. Path 등의 경로를 유지하기 때문에 배포된 Jar 파일을 사용하는 사용자들은 각 파일들에 대한 path 문제에서 벗어날 수 있습니다.

2. War(Web Archive)

 War는 Java Web 어플리케이션 소스를 배포할 때, path등의 설정으로 인한 이슈를 제거하기 위해 만들어진 압축 방식입니다. War 방식은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되었습니다. War는 웹 프로젝트에서 배포를 위한 최소한의 단위이며, WAS마다 배포 방식과 설정이 조금씩 다르지만 기본적으로 War 파일에 대한 규격은 동일합니다. War는 단독으로 실행되지 않으며 WAS에 의해 실행되어야 하므로 배포에 대한 메타정보(web.xml)이 포함되어 있습니다.

3. Jar과 War의 차이

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