2025. 10. 6. 19:08ㆍ카테고리 없음
.Jar vs .War 어느 것을써야하나?
핵심 : spring boot는 jar를 권장한다.
MAVEN, GRADLE 등으로 빌드시 빌드 -> 배포까지 생각한다면, .war
밑에 부분을 봐라... 하지만, spring initialzr, eclipse에서는 default로 되어 있는 까닭이있다.

참고 문
공식 문서
.jar
- timeleaf (html)
- template 영역 : html 사용가능
- 내장
.war
- jsp(서블릿)
- 외장
배포없이 단순 개발만 한다 그러면, 아무거나 사용하던 상관없음

그리고 내장 톰켓/ 외장 톰켓
내장 톰켓은 스프링 부트안에 들어있습니다.
저희가 의존성 주입시 :
ex) maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
ex) gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
위 의존성에 톰켓이 내장되어 있음( 내장 톰켓 )

그럼 여기서 내장 톰켓이 없이 어떻게 배포했을까?

spring boot에서 maven으로 빌드해보기
--- 프로로젝트에서 maven build 클릭하면,

다음과 같이 추가하면, target이는 곳에 .jar가 만들어집니다.

java -jar springBoot_react_oracle_jwt_ict05-0.0.1-SNAPSHOT.jar 실행시 내장 톰켓이 실행이된다.
외장 톰켓은 webapps에 springBoot_react_oracle_jwt_ict05-0.0.1-SNAPSHOT.jar 가 아닌 .war를 넣으면 된다.