티스토리 뷰

ALL/Spring Boot

JAR vs WAR

whoAmI_ 2023. 6. 12. 11:47

 

기본적으로 JAR, WAR 모두 Java의 jar 옵션 (java -jar)을 이용해 생성된 압축(아카이브) 파일로, 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징 한 것이다.

JAR (Java Archive)
- JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일
- Class (JAVA리소스, 속성 파일), 라이브러리 파일을 포함함
- JRE(JAVA Runtime Environment)만 있어도 실행 가능함 (java -jar 프로젝트네임.jar)

WAR (Web Application Archive)
- Servlet / Jsp 컨테이너에 배치할 수 있는 웹 애플리케이션(Web Application) 압축파일 포맷
- 웹 관련 자원을 포함함 (JSP, Servlet, JAR, Class, XML, HTML, Javascript)
- 사전 정의된 구조를 사용함 (WEB-INF, META-INF)
- 별도의 웹서버(WEB) or 웹 컨테이너(WAS) 필요
- 즉, JAR파일의 일종으로 웹 애플리케이션 전체를 패키징 하기 위한 JAR 파일이다.

SpringBoot를 사용한다면 Jar
기존 Spring Framework에서는 웹 애플리케이션을 구성할 때, View 영역에 JSP를 많이 사용했었다. Spring Boot에서는 View 영역 관련하여 내용을 찾으면 JSP를 사용하는 것보다 Thymeleaf, FreeMarker 등을 사용한 예제를 더 많이 접했을 것이다.
Spring Boot에서는 공식 문서에도 나와 있듯이 JSP를 사용하는 것을 권하지 않고 다른 템플릿 엔진을 추천하고 있다. Spring boot에서 가이드하는 표준은 JAR(JSP, 외장톰켓을 안사용)이니까 JAR를 사용하여 서비스하는 것이 좋다.

 

 

참조 블로그 :  https://old-developer.tistory.com/m/171

 

[Spring Boot] 배포 어떤걸로? JAR or WAR

이 글은 제가 알고 있는 지식내에 있는 내용입니다. (즉, 뇌피셜일수도) 내용은 공식문서를 최대한 확인하는 방식으로 체크했습니다. (나름 오피셜일수도) ■ 스프링 부트를 시작 할려고 https://st

old-developer.tistory.com

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함