gpt4 book ai didi

java - Spring servlet 适用于 IntelliJ 但不适用于 tomcat

转载 作者:行者123 更新时间:2023-11-28 23:10:38 25 4
gpt4 key购买 nike

我用 SpringBoot 编写了一个小应用程序,并使用 IntelliJ 对其进行了测试(我从 IntelliJ 运行了该应用程序)并且一切正常;但是当我尝试在本地 tomcat(或 docker 容器内的 tomcat)上部署 war 时,我收到错误 404 NotFound(在 tomcat 日志中没有错误);我认为应用程序启动时可能存在一些问题。这是我的主类:

@SpringBootApplication
public class DockerProxyMain extends SpringBootServletInitializer {

public static void main(String[] args) {
SpringApplication.run(DockerProxyMain.class, args);
}
}

我只有一个 Controller :

@RestController
public class DockerProxyController {
...
}

一个pom

<packaging>war</packaging>

<groupId>it.xxx</groupId>
<artifactId>dockerProxy</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>

<properties>
<java.version>11</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

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

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
</dependencies>

<build>
<finalName>${artifactId}</finalName>

<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

我的项目中没有任何 web.xml。有什么建议么?谢谢。

最佳答案

在主类中添加如下代码:

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

关于java - Spring servlet 适用于 IntelliJ 但不适用于 tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58499758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com