프로젝트 JAR에서 WAR로 설정 변경
우선 프로젝트 설정을 jar에서 war로 바꾼다. pom.xml에서 packaging을 war로 바꾸고 tomcat을 provided로 바꾼다.
<packaging>war</packaging>
...
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
...
</dependencies>
...
그리고 Application 클래스도 수정한다. 서블릿을 초기화하는 코드를 추가해야한다. SpringBootServletInitializer을 상속받고 configure 메서드를 아래처럼 재정의한다.
@EnableWebMvc
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(ObsidianApplication.class, args);
}
}
그리고 메이븐 빌드를 해본다.
mvn clean compile war:exploded war:war