SpringBoot(jar)에서 WAR로 배포하는 법
1. SpringBootServletInitializer 상속받기
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
2. Dependency 추가 및 설정 (pom.xml)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3. war빌드 설정 (pom.xml)
<packaging>war</packaging>
4. yml 사용하고 있다면 hibernate.connection.url로 변경하기
spring:
datasource:
hibernate.connection.url: jdbc:h2:tcp://localhost/~/test
username: sa
password:
driver-class-name: org.h2.Driver
5. Dynamic Web Module 체크해주기
- 프로젝트 우클릭 -> Properties -> Project Facets

6. tomcat version과 servlet spec(Dynamic Web Module) version 맞춰주기 (sevlet 에러 발생한다면)

https://tomcat.apache.org/whichversion.html