BE/Java

War build 시 Springboot가 올라오지 않는 이유

jjuni_96 2024. 1. 16. 14:35
728x90

 

문제 확인

다른 사람이 만든 Springboot 프로젝트 생성 후 War 를 빌드하여 Tomcat에 배포를 함

그러나 Tomcat 로그를 확인해보니 Springboot 로그가 올라오며 DB Connection이 돌아야하는데 그렇지 않았다.....

 

 

다양한 시도 

1. Springboot + Gradle 을 사용중이었기때문에 Gradle 설정에 누락이 되었나? 싶어서 다양한 설정 추가를 해봄

=>  안됨

 

2. Intellij 내장Tomcat을 제외하고 외장Tomcat으로 실행을 해봄

=> 안됨

 

그 외에 다양한 방법들을 시도해봤지만 안됬음.....

build.gradle 파일을 수정하며 문득 plugins > id 가 war가 아니라 jar로 설정되어있는 부분을 간과하고 지나갔었다..

 

혼자 삽질을 하면서 수십번의 war 프로젝트를 생성/삭제 해본사람으로써 해당 부분의 이상함을 느끼고 ServletInitializer.java 파일이 있는지 확인을 해보았다.

 

역시나... 해당 파일이 없었다.....

 

최종 해결 방법

아래와같이  java 파일을 생성해주었다.

 

package test.test1;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(RecruitApplication.class);
    }
}

 

이렇게 한 후 build.gradle > plugins > id => war 로 변경 후 빌드를 하니 정상적으로 기동되었다.

 

 

jar와 war의 차이는 아래에서 확인...

728x90
반응형
LIST