我已将我的 Spring Boot 应用程序迁移到 Java 11,从那时起,它无法在 Eclipse 内的 Tomcat 上启动。准确地说,Tomcat 启动了,但是没有来自 Spring Boot 应用程序的输出,就像它不会被部署一样。这也只会在 Java 11 迁移之后发生,并且只有在 Eclipse 中使用 Tomcat 时才会发生,当我将 war 文件部署到相同但独立的 Tomcat 时,它可以工作。你知道是什么原因造成的吗?还是我应该只考虑它是 Eclipse 问题并等待更新版本?我正在使用 Eclipse 4.10.0 2018-12、Tomcat 9.0.14、Java 11.0.2、Spring Boot 2.1.1。
2 回答

SMILET
TA贡献1796条经验 获得超4个赞
我认为您可以通过产生战争并遵循以下步骤来做到这一点:
1.更改您的 Maven 包装 <packaging>war</packaging>
2.添加此依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
扩展 SpringBootServletInitializer
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
}

牧羊人nacy
TA贡献1862条经验 获得超7个赞
我仍然无法让它像以前使用 Java 8 一样运行,但我发现即使应用程序构建为 war 并应该在外部 Tomcat 上运行,我仍然可以在 Eclipse 中运行它使用嵌入式 Tomcat 的 Spring Boot 应用程序。这不是我想要的,但它至少允许以我们需要的方式构建应用程序,同时能够直接在 Eclipse 中调试它。
添加回答
举报
0/150
提交
取消