programing

서블릿 컨테이너가 내장되지 않은 스프링 부트

megabox 2023. 6. 23. 21:51
반응형

서블릿 컨테이너가 내장되지 않은 스프링 부트

스프링 부트 웹 응용 프로그램이 있지만 내장된 Tomcat/Jetty에서 시작하고 싶지 않습니다.내장형 컨테이너를 비활성화하는 올바른 방법은 무엇입니까?

다음과 같은 작업을 수행할 경우:

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
           <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-tomcat</artifactId>
           </exclusion>
        </exclusions>
    </dependency>

나는 계속 이해합니다.

org.springframework.context.ApplicationContextException: Unable to start embedded container; 

Maven(Gradle 대신)을 사용하고 있으므로 이 가이드와 공식 문서의 이 부분을 확인하십시오.

기본 단계는 다음과 같습니다.

내장된 서블릿 컨테이너를 제공된 종속성으로 만듭니다(따라서 생산된 전쟁에서 제거).

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

다음과 같은 응용프로그램 초기화 프로그램을 추가합니다.

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;

public class WebInitializer extends SpringBootServletInitializer {

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

}

해당 클래스는 Spring 응용 프로그램이 없기 때문에 부트스트랩할 수 있도록 필요합니다.web.xml사용했다.

언급URL : https://stackoverflow.com/questions/25245834/spring-boot-without-embedded-servlet-container

반응형