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
'BE > Java' 카테고리의 다른 글
| JWT(Json Web Token) 이란? (1) | 2024.06.11 |
|---|---|
| Scanner vs BufferReader (0) | 2024.06.03 |
| Stack 이란? (0) | 2024.02.13 |
| Queue 란? (0) | 2024.02.13 |
| Springboot에서 ServletInitializer를 상속받아야 하는 이유? (0) | 2024.01.16 |