HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
🆚
VS 모음
/
🆚
Jar vs War
🆚

Jar vs War

Jar : Java Archive
War : Web Application Archive
 
Jar 와 War는
  • 자바의 jar 툴을 이용하여 생성된 아카이브(압축)파일임
  • 자바 애플리케이션을 쉽게 배포, 동작시킬수 있도록 관련 파일(바이트코드, 이미지, html 등)을 패키징 하는 방식을 말하기도 함
 
Spring Initialier가 제공하는 두가지 패키징 방식 - Jar,War
Spring Initialier가 제공하는 두가지 패키징 방식 - Jar,War
 
JAR (Java Archive)
  • JRE에 종속적이라는 것만 빼면 윈도우의 .zip과 같은 맥락임
    • JRE는 .jar 파일의 패키징을 풀지 않아도 사용할 수 있음
  • 여러 개의 자바 클래스 파일과 관련 리소스 및 메타데이터를 패키징하여 배포, 동작을 편리하게 제공하는 패키지 파일 포맷
  • Springboot의 guide는 JAR이다.
 
Jar와 maven을 활용한 스프링부트앱 배포 시연
maven, jar를 사용을 사용한 기본 springboot 애플리케이션의 프로젝트 구조
maven, jar를 사용을 사용한 기본 springboot 애플리케이션의 프로젝트 구조
 
오른쪽의 Maven Lifecycle 탭을 활용하거나 mvnw 를 활용하여 패키징을 할 수 있다.
💡
mvnw 란? Maven Warpper의 약자이고 Maven의 설치없이 편리하게 이용할 수 있도록 도와준다.
 
mvnw를 직접활용하여 packaging을 하는 명령어는 아래와 같다.
  • Maven/target Clean 및 build
    • ./mvnw clean package
    •  
notion image
/target에 Executable Jar File이 생성되었다.
 
생성된 jar 파일을 활용한 배포
생성된 jar 파일을 활용한 배포
 

 
WAR(Web Application Archive
  • 자바 서버 페이지, Java Servlet, HTML 등등 웹 애플리케이션이 구동되기 위한 기타 자원을 한 군데에 모아 배포하는 데 사용되는 파일
    • 사전 정의된 구조가 있음
  • 별도의 웹서버 또는 WAS가 있어야 프로젝트 구동이 가능
  • 외부 WAS나 JSP를 활용해야 하는 경우 WAR를 사용해야함
 
 

JAR , WAR 압축 구조

notion image
JAR가 가장 적은 압축 범위를 가지고 있다.
WAR는 JAR의 모든 파일 + WAR만의 파일을 더 압축한다.