Skill/spring
[maven] pom.xml Packaging jar -> war
진열사랑
2021. 3. 17. 22:19
pom.xml의 Packaging을 jar에서 war 파일로 변경하였다.
변경하면 프로젝트에 에러표시가 뜬다.
Problems view를 열어서( Window > Show View ) 에러를 확인한다.
Maven > Update Project... 실행하라는 내용의 에러가 보인다.
프로젝트를 선택한 후 마우스 오른쪽 버튼 click 후 Maven > Update Project... 실행한다.
에러는 없어지고 webapp > META-INF > MANIFEST.MF 가 자동으로 생성된다.
Manifest-Version: 1.0
Build-Jdk-Spec: 14
Implementation-Title: demo
Implementation-Version: 0.0.1-SNAPSHOT
Created-By: Maven Integration for Eclipse
그런데.. Spring Boot가 실행이 안된다..
ServletInitializer class가 없기 때문이다. 초기 스프링 Initializr를 이용할 때 Packaging을 jar로 선택했다면 생기지 않는다.
(war를 선택했다면 자동으로 생성해 준다.) 이 class는 자바로 스프링 웹 애플리케이션을 활성화시켜 DemoApplication.class을 실행한다.
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}