스프링부트 JAR, WAR 배포 차이

Minsu Kang·2021년 9월 10일
0

스프링부트 프레임워크를 사용하여 만든 웹 어플리케이션 코드를 배포하는 방법에는 JAR, WAR 두 가지가 있다.

JAR 배포와 WAR 배포의 차이점에 대해서 알아보자.

JAR

JAR 는 자바로 만든 어플리케이션의 구성요소들을 압축시켜 놓은 파일이다.

JRE or JDK 환경에서 jar 파일을 실행시킬 수 있다.

스프링부트는 내장 톰캣을 포함하기 때문에 간단하게 jar 배포 만으로도 실행이 가능하다.
ex) java -jar {applicationName}.jar

WAR

WAR 도 마찬가지로 자바로 만든 어플리케이션 구성요소들을 압축시킨 파일이다.

원하는 구성을 할 수 있는 JAR 포맷과 달리 WAR는 WEB-INF 및 META-INF 디렉토리로 사전 정의 된 구조를 사용한다.

즉, WAR 는 JAR 와 달리 특정 웹 컨테이너의 구조에 맞춰 실행된다.

쉽게 생각해서 tomcat 과 같은 웹 서버 위에서 돌아간다고 생각하면 된다.
(톰캣 webapps 폴더에 ROOT.war 파일을 두면 됨)

그렇지만 WAR 또한 java -jar 명령어로 단독 실행이 가능하긴 하다!

스프링부트가 기본적으로 내장 톰캣을 가지고 있기 때문에 JAR 배포가 일반적이고
WAR 로 배포하려면 약간의 수정이 필요하다.

배포 방법은 아래 블로그를 참고해보는 것을 추천한다!
https://hye0-log.tistory.com/29
https://pooney.tistory.com/74

참고한 레퍼런스

https://ifuwanna.tistory.com/224

profile
백엔드 개발자

0개의 댓글