Back-end Develop

.JAR, .WAR 차이

gozer0 2024. 7. 30. 09:59

 

.JAR 혹은 .WAR

 

스프링 부트 프로젝트를 개발하고 배포할 때,

개발자는 여러 가지 고려해야 할 사항 중 하나이다.

 

이 두 가지 파일 형식은 Java 애플리케이션을 배포하는 데 사용된다.

 

JAR (Java ARchive) 는

Java 클래스 파일, 메타데이터, 리소스 파일 등을 포함하는 압축 파일이다.

톰캣이 내장되어 있어서

미들웨어가 없어도 혼자 잘 돌아간다.

이 방식은 애플리케이션과 필요한 모든 종속성을 하나의 JAR 파일에 포함시켜,

배포 및 실행을 간소화해준다.

 

반면에, 

WAR (Web Application Archive)는

웹 애플리케이션을 패키징하는 데 사용한다.

이미 was 환경이 존재해서

톰캣을 내장하지 않고 배포한다.

 

JAR는 간단하게 

java -jar <파일명>.jar

 

이 명령어면 배포가 된다.

 

JAR는 스프링 부트와 같은 경량 프레임워크와 잘 어울리며,

각 서비스가 독립적으로 실행될 수 있는

MSA에 이상적이다.

 

 

WAR는 

기존에 전통적인 배포 방식이 있다면,

예를 들어 Java EE 또는 서블릿 기반 애플리케이션 서버를 사용하고 있다면,

WAR 파일을 사용하여 애플리케이션을 배포하는 것이 자연스럽다.

왜냐하면 이미 설정된 인프라를 그대로 사용할 수 있게 한다.

 

 

 

JAR 배포 방법

.jar는 인텔리제이를 사용할 경우 ctrl 두번 눌러서 bootjar를 검색하거나

아래와 같이  오른쪽에 gradle 탭 버튼을 눌러 Tasks > build 폴더 안에 bootjar를 클릭해도 된다.

 

 

 

이렇게 하면

프로젝트 안에

build > libs > 파일명.jar

이 생성된다.

 

이거를 서버에 해당 위치에 올리고

java -jar <파일명>.jar 를 실행해주면 된다!

 

 

 

 

'Back-end Develop' 카테고리의 다른 글

JPA  (0) 2024.07.19
JDBC, MyBatis, Hibernate 비교하기: 실습과 환경 설정  (0) 2024.07.18