ToBe끝판왕

[ 개념정리 ] War 와 Jar 비교하기 본문

■ Programming Skills/개념 정리

[ 개념정리 ] War 와 Jar 비교하기

업그레이드중 2025. 1. 21. 21:27
반응형

 

 


 

 

💡  JAR 와 WAR 의 개념과 특징에 대해서 알아보자 !!

 

 

✅  WAR 와 JAR 

 

 

▶️  War ( Web Application Archive ) 패키징

-  외부 서블릿 컨테이너

•  톰캣 , 제티 등 외부 서블릿 컨테이너에 배포

•  내장서버를 미포함 하기 때문에 외부 서블릿 컨테이너 설정에 의존

 

-  웹 애플리케이션 표준

•  WAR 파일은 웹 애플리케이션 위한 표준 패키징 형식

 

-  일반적인 WAR 파일 디렉터리 구조

•  .war 확장자를 가진 파일 

•  META-INF , WEB-INF 을 가지고 있다.

•  Local 에서 정적 리소스 ( css , js , img ) 및 mybatis xml 파일들은 WEB-INF/classes 안으로 들어가게 된다.

•  JSP 를 사용한 프로젝트의 경우 일반적으로 WAR 배포를 자주 사용한다.

 

  정적 리소스가 WEB-INF 안에 있기 때문에 브라우저가 직접 접근 불가능

    (  스프링 부트 또는 서블릿 설정을 통해 정적 리소스를 제공할 필요성이 있다. ) 

 

 

 

 

▶️  Jar ( Java Archive ) 패키징

-  내장 서버

•  스프링 부트의 내장 서버( 톰캣, 네티 등 ) 을 포함하여 단독 실행이 가능

 

-  간편한 배포

•  별도의 외부 서블릿 컨테이너 설치 없이 JAR 파일 하나로 실행이 가능

 

-  일반적인 JAR 파일 디렉터리 구조

•  .jar 확장자를 가진 파일 

•  META-INF , BOOT-INF 을 가지고 있다. ( BOOT-INF 는 스프링부트 기준의 파일이다. )

•  Jar 파일은 단독 실행이 가능토록 의존성 라이브러리를 모두 포함하여 크기가 war에 비해 더 크다.

 

 

 

▶️  War 와 Jar 의 장단점 비교

 

구분 장점 단점
WAR •  기존에 WAR 배포 환경을 갖춘 시스템에
   손쉽게 통합 가능

•  다양한 서블릿 컨테이너에서 사용 가능
•  외부 서블릿 컨테이너를 별도로 설치해야 함

•  JAR 파일에 비해 배포과정이 좀 더 복잡
JAR •  배포 과정이 빠르고 간편함

•   외부 의존성 없이 단독적으로 실행 가능  
•  내장 서버에 제한되어 유연성 부족

•  특정 서블릿 컨테이너를 사용해야 하는 경우
    WAR 배포가 더 낫다.

 

 

 

 

 

👉 WAR 배포는 기존 시스템과의 호환성이 중요하거나, 다양한 서블릿 컨테이너 기능을 활용해야할 때

     적합하다. JAR 배포는 빠르고 간편한 배포, 클라우드 환경에서 컨테이너 기반 배포시 적합하며

     요즘은 왠만한 레거시 환경이 아닌 이상 빠르고 간편한 Jar 로 배포를 하는 추세인걸로 보여진다.

 

 

 

 

반응형
Comments