티스토리 뷰
SpringBoot 프로젝트를 내장 톰캣을 이용해 jar로 배포하지 않고, 외장 톰캣을 이용해 war로 배포할 때, 404 오류가 발생하는 경우엔 대부분 SpringBoot 애플리케이션을 초기화하지 않아 외장 톰캣이 인식을 못하는 경우입니다. 그럴 땐 main 함수가 있는 java 소스로 이동하여 아래 내용을 추가하셔야 합니다.
Initializer 추가
@SpringBootApplication
public class MyApp extends SpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String[] args) {
try {
SpringApplication.run(PharmorderApiApp.class, args);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected WebApplicationContext run(SpringApplication application) {
return super.run(application);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApp.class);
}
}
- SpringBootServletInitializer : Spring Boot 애플리케이션을 외장 톰캣에 배포할 때 사용됩니다. 이 클래스는 SpringApplicationBuilder를 사용하여 애플리케이션의 컨텍스트를 설정하고 초기화합니다.
- WebApplicationInitializer : 3.0 이상에서 웹 애플리케이션을 프로그램 matically 설정할 때 사용됩니다. 이 인터페이스는 서블릿 컨테이너에 의해 호출되어 웹 애플리케이션의 설정을 구성합니다.
사실상 SpringBootServletInitializer 가 WebApplicationInitializer를 포함하고 있기 때문에 직접 구현할 필요는 없으나 해당 소스에서는 기록용으로 작성해두었습니다. 참고부탁드립니다.
감사합니다.
'프레임워크 > SpringBoot' 카테고리의 다른 글
[SpringBoot] HATEOAS 개념 및 간단한 예제 (1) | 2024.08.28 |
---|---|
[SpringBoot] openNLP를 이용해 고객센터 챗봇 만들기 (0) | 2024.08.20 |
[SpringBoot] Thymeleaf를 이용한 카카오톡 클론 코딩 - 3 (0) | 2024.08.07 |
[SpringBoot] Thymeleaf를 이용한 카카오톡 클론 코딩 - 2 (0) | 2024.08.07 |
[SpringBoot] Thymeleaf를 이용한 카카오톡 클론 코딩 - 1 (0) | 2024.08.07 |
최근에 올라온 글
- Total
- Today
- Yesterday