没有嵌入式Servlet容器的Spring Boot

我有一个Spring-boot Web应用程序,但是我不想在嵌入式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),请查阅本指南和官方文档的这一部分。

基本步骤是:

使嵌入式Servlet容器成为 依赖项(因此从产生的战争中将其删除)

<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使用它。

以上是 没有嵌入式Servlet容器的Spring Boot 的全部内容, 来源链接: utcz.com/qa/400832.html

回到顶部