spring boot tomcat终止

kaz*_*uar 6 spring tomcat spring-boot

我有完全相同的问题: 终止mvn spring-boot:run不会停止tomcat

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

das*_*nga 6

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

我通过使用弹簧启动执行器来解决它,它提供了一个休息终点(Post)来关闭应用程序:

localhost:port/shutdown
Run Code Online (Sandbox Code Playgroud)

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

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

org.springframework.boot:spring-boot-starter-actuator
Run Code Online (Sandbox Code Playgroud)

我创建了一个gradle任务bootStop,它为我运行这个cmd.你可以在maven中做同样的事情,或者你可以从cmd行(也通过intellij终端)调用它

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

请参阅此处的工作示例(gradle)


Dew*_*wfy 1

我遇到了同样的问题,因此我必须查看此页面和相关页面上的所有解决方案。没有人对我好。这就是为什么我做了一些小研究,发现捕获的 TCP 端口出现问题只是因为 Gradle 和 mvn 对 TCP 端口的子操作一无所知。

\n\n

因此,不必终止进程,只需使用命令:

\n\n
$ gradlew \xe2\x80\x93stop \n
Run Code Online (Sandbox Code Playgroud)\n\n

(我希望同样存在mvn

\n\n

此命令会正常关闭 Gradle 启动的守护进程并释放 Tomcat 端口捕获的进程。

\n