JAR, WAR

YOOYEON.DEV·2023년 3월 5일
0

JAR와 WAR 모두 애플리케이션 배포 시 쉽게 하려고 소스, 파일 등을 패키징 하는 것이다.
JAR, WAR 모두 Java jar 옵션을 이용해 생성된 압축 파일이다.

JAR

  • Java Archive의 줄임말
  • libraries, resources, accessories files 같은 설정 파일로 구성
  • 내장 톰캣을 포함하기 때문에 JRE만 가지고 실행이 가능
  • 파일 구조를 원하는대로 구성 할 수 있음

WAR

  • .jsp, html, javascript 혹은 웹 어플리케이션 개발을 위한 파일들 포함
  • WEB-INF, META-INF 디렉토리로 정의된 구조 사용해야 함
  • WAR는 Tomcat, Jetty, Java EE Server같은 환경에서 사용되기 위해 만들어짐
  • web.xml 파일을 통해 path 설정을 해주어야 함

궁금했던 점

보통 스프링부트 프로젝트는 jar로 배포하고 외장 톰캣을 사용하는 스프링 프로젝트는 war로 배포를 한다. 그래서 내장톰캣, 외장톰캣과 관련이 있나 궁금했다.

jar와 war는 패키징되는 구조가 다르다. 보통 스프링부트 프로젝트는 jar로, 스프링 mvc 프로젝트는 war로 배포한다. 하지만 spring boot(+jsp) 프로젝트를 war로 배포가 가능하긴 하다는 것을 알았다. 스프링은 jar 배포를 권장하고 있다.

profile
백엔드 개발자 입니다

0개의 댓글