스프링 부트 개발을 하다 보면, 배포관리를 해야할 일이 생긴다. (서비스를 시작할 때, 테스트를 해볼 때..등등)
그럴때 많이 등장하는 이름인 WAR 파일, JAR 파일을 알아보고 차이를 알아본다.
1. JAR 이란?
- JAR (Java Archive) WAR (Web Application Archive) 모두 JAVA의 jar 툴을 이용하여 생성된 압축(아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이 주 역할
- JAR는 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
2. WAR ( Web Application Archive )
war 확장자 파일은 servlet / jsp 컨테이너에 배치 할 수 있는 웹 어플리케이션(Web Application) 압축 파일 포맷이다. JSP, SERVLET, JAR, CLASS, XML, HTML, JAVASCRIPT 등 Servlet Context 관련 파일들로 패키징 되어있다. WAR는 웹 응용 프로그램를 위한 포맷이기 때문에 웹 관련 자원만 포함하고 있으며 이를 사용하면 웹 어플리케이션을 쉽게 배포하고 테스트 할 수 있다.
원하는 구성을 할 수 있는 JAR 포맷과 달리 WAR은 WEB-INF 및 META-INF 디렉토리로 사전 정의 된 구조를 사용하며 WAR파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버 (WEB)또는 웹 컨테이너(WAS)가 필요하다.
WAR 파일도 JAVA의 JAR 옵션( java - jar)을 이용해 생성하는 JAR파일의 일종으로 웹어플리케이션 전체를 패키징하기 위한 JAR파일로 생각하시면 될 것 같다.
결론 :
- jar, war 파일 둘다 자바 클래스 패키징 확장자이다.
프로젝트를 압축하여서 배포를 쉽게할 때 주로 쓰인다.
- war는 웹 어플리케이션 전용 패키징이고, 웹 서버가 내장되어 있어 웹 사이트 배포에 좀더 특화 되어 있다.
참조 : https://ifuwanna.tistory.com/224
'플랫폼 > 스프링 프레임 워크' 카테고리의 다른 글
[spring boot] https 적용하기 (Let's Encrypt) (4) | 2020.07.13 |
---|---|
스프링 부트 도커 파일 만들기 / docker/ spring boot / intelly j / jib / jar / gradle (0) | 2020.03.25 |
2. SpringBoot & JPA로 간단 API 만들기 1/2[스프링부트로 웹 서비스 출시하기] (0) | 2020.02.23 |
[1] 쿠팡 api 프로젝트 / 적용 테스트 (스프링 부트 / 자바 ) (0) | 2020.02.02 |
1. Github 프로젝트 생성&SpringBoot & Gradle [스프링부트로 웹 서비스 출시하기] (0) | 2019.12.23 |
댓글