spring boot tomcat终止

标签 spring tomcat spring-boot

我遇到了与那个完全相同的问题:Terminating mvn spring-boot:run doesn't stop tomcat

那里的答案说它只发生在 Windows 上,但实际上并非如此。我正在使用 Intellij 在 OSX 上运行 spring boot,当我停止 spring boot 应用程序时,嵌入式 tomcat 仍在运行。这是 spring boot 教程中的简单示例应用程序。有什么解决办法吗?

最佳答案

我在 MAC 上的 intellij 中遇到了完全相同的问题(spring boot 1.1.6.RELEASE)。

我通过使用 spring boot actuator 解决了这个问题,它提供了一个 rest endpoint (Post) 来关闭应用程序:

localhost:port/shutdown

这可以通过命令行调用:例如curl -X POST localhost:port/shutdown

要启用 spring boot 执行器,请添加以下编译 dep:

org.springframework.boot:spring-boot-starter-actuator

我创建了一个 gradle task bootStop,它确实为我运行了这个 cmd。 你可以在 maven 或者 你可以从 cmd 行调用它(也可以通过 intellij 终端)

特别是如果你想使用调试,你应该将上面给出的 curl cmd 包装在 gradle/maven 任务中。

查看工作示例 (gradle) here

关于spring boot tomcat终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553018/

相关文章:

java - 将类从 WAR 移动到 JAR 时出现 NoClassDefFoundError

java - 部署到已经在 IntelliJ IDEA 之外运行的 Tomcat 服务器

java - 在测试期间调用预定方法

java - 我无法在 spring mvc 中通过 ajax 下载文件而不在服务器中保存文件

java - 通过 Spring Security 进行 Kerberos 身份验证在 IE11 和 Chrome 中失败,但在 Firefox 中失败

java - Spring 和 quartz 的错误

tomcat - 如果类在 WEB-INF/lib 的 jar 文件中,则 tomcat 的 web.xml 过滤器中类的路径是什么

spring - 来自 spring 应用程序的数据未保存在 dockerized Postgres 数据库中

java - 为什么非托管类中会自动弹出 @Autowitred 字段

java - 如何添加额外的自定义 header ,同时抛出异常以将消息存储在 kafka 上的 dlq 中?