Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

DOing

[WEB] JAR vs WAR 그리고 스프링 부트 본문

WEB

[WEB] JAR vs WAR 그리고 스프링 부트

mangdo 2021. 4. 19. 18:54

웹서버를 배포하려다보니 .war, .jar 파일이 헷갈려서 짚고 넘어가보려고 한다.

 

[ JAR ]

자바프로젝트 압축 파일포맷

Java Archive

자바 클래스 파일과 클래스가 이용하는 관련 리소스 및 메타 데이터를 모아서 배포하기 위한 소프트웨어 패키지 파일포맷이다.

 

- 원하는 구조로 구성 가능

- JRE(Java Runtime Envirment)만 가지고도 실행 가능

 

[ WAR ]

웹 어플리케이션 압축 파일포맷

Web application Archive

Servlet/Jsp 컨테이너에 배치할 수 있는 웹 어플리케이션 압축 파일 포맷이다. JSP, Servlet, Class, XML, HTML, Javascript 및 웹 애플리케이션을 함께 이루는 자원들을 모아 배포하는 데 사용된다. 즉, 웹 관련된 자원들만 포함하고 있어 웹 애플리케이션의 간편한 배포를 도와준다.

 

- WEB-INF, META-INF구조를 따라야한다.

- 웹서버나 WAS가 있어야 실행 가능

[ 스프링부트과 JAR, WAR ]

JSP파일을 사용한다면 JAR가 아닌 WAR를 사용해야 한다.

또한, 일반적으로 외장 WAS를 사용하는 경우에는 WAR파일을, 내장 WAS를 사용하는 경우 JAR파일을 사용한다고 한다.

 

스프링 부트의 장점으로 꼽히는 것들 중 하나에는 'JAR파일로 간단하게 배포 가능하다'라는 것이 있다.

스프링 부트는 톰캣을 JAR에 내장하기 때문에 바로 실행가능한 JAR파일로 빌드와 배포가 가능하다. 독립적이고 가볍게 만들 수 있는 것이다.

 

실제로 스프링 부트를 사용하여 JAR파일로 빌드, 배포할때는 AWS EC2서버에 JDK 1.8만 설치했었다.

하지만 스프링은 WAR파일로 빌드, 배포하기 때문에 EC2 서버에 tomcat도 설치해야한다.

 

 

 

참고 출처 :

ko.wikipedia.org/wiki/JAR_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7)

ko.wikipedia.org/wiki/WAR_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7)

programmer93.tistory.com/40

'WEB' 카테고리의 다른 글

[WEB] HTTP 인증방식1_세션/쿠키  (0) 2021.06.11
빌드 도구, Gradle vs Maven  (0) 2021.05.08
[WEB] Dyanmic IP와 DHCP  (0) 2021.04.14
[WEB] 공유기 (Private IP, NAT)  (0) 2021.04.14
[WEB] 웹 호스팅, 서버 호스팅, 클라우드  (0) 2021.04.14