Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 티스토리챌린지
- 네트워크
- 명령어
- mysql
- github
- springboot
- 책
- 후기
- 인터페이스
- java
- DBMS
- 리눅스
- 인덱스
- Linux
- mssql
- SQL
- Python
- MariaDB
- oracle
- PostgreSQL
- IntelliJ
- 독서
- Javascript
- spring
- 오블완
- error
- docker
- git
- pandas
Archives
- Today
- Total
hanker
[Spring] Gradle .war 와 -plain.war의 차이 본문
반응형
Gradle에서 JAR/WAR 파일을 멀티 아카이브 형식으로 생성할 때, 보통 아래 두 가지를 만들어준다.
- project-name.war
- project-name-plain.war
일반적으로 war파일이 생성되는 건 알겠는데, plain.war는 뭘까
plain.war
Spring Boot는 기본적으로 내장 Tomcat을 포함한 실행 가능한 JAR 또는 WAR 파일을 만들 수 있다.
Gradle에서 생성된 project-name.war는 내장 Tomcat이 포함된 실행 가능한 WAR 파일이므로
java -jar project-name.war 명령으로 바로 실행할 수 있다.
하지만 -plain war로는 실행이 불가능하다.
-plain.war는 실행에 필요한 의존 라이브러리나 부트스트랩 설정이 포함되지 않기 때문에, Spring Boot 애플리케이션처럼 단독 실행은 불가능하다.
파일명 | 설명 |
project-name.war | 실행 가능한 WAR (내장 Tomcat 포함, Spring Boot에서 실행 가능) |
project-name-plain.war | 순수 WAR (라이브러리 제외, 실행 불가능, 외부 컨테이너에서 실행용) |
그럼 언제 -plain.war를 쓸까?
JEUS, JBoss, Tomcat 같은 외부 WAS(Web Application Server)에 배포할 경우에는 내장 톰캣이 필요하지 않기 때문에
-plain.war 또는 war 태스크로 생성된 순수 WAR 파일을 사용하는 것이 일반적이다.
정리
- -plain.war : 의존성(dependencies)이 포함되지 않은 순수한 WAR 아카이브이다. 보통 라이브러리를 별도 제공하거나, 컨테이너가 라이브러리를 따로 로딩하는 구조에서 사용한다.
- 기본 WAR (ncip_new.war) : 보통 spring-boot-gradle-plugin이 적용된 경우, 내장 톰캣 포함 + 실행 가능한 구조로 패키징된 WAR이다.
반응형
'SPRING' 카테고리의 다른 글
[SPRING] 웹 서비스에서 발생하는 이벤트를 DB에 기록하기 (AOP) (1) | 2025.06.06 |
---|---|
Redis - Spring Boot + Redis를 사용하여 실시간 검색어 순위 만들기 (3) 화면에 데이터 넘겨주기 (0) | 2025.04.08 |
Spring boot - 스프링 부트 프로젝트 jar파일 생성 방법 (0) | 2025.04.07 |
Spring boot - thymeleaf layout 사용 시 설정 (layout 적용 안될 때) (0) | 2025.04.02 |
iBatis - isEmpty, isNotEmpty / isNull, isNotNull 뭘 써야 할까? (빈 값 / null 체크) (0) | 2025.03.18 |