我正在使用 jettyrunner 来执行我的战争文件。我正在使用命令 java -jar jetty runner ex.war。但是我通过从 java 执行这个命令从我的 java 应用程序运行这个码头服务器。我的问题是它第一次运行良好,但是第二次如果我再次使用相同的代码执行另一个war文件,它执行旧的war。我找到了旧的码头服务器继续运行的原因。我怎么能从java中停止这个服务器以启动码头服务器进行另一场战争。
问问题
4218 次
2 回答
2
一种选择应该是:
http://wiki.eclipse.org/Jetty/Howto/Secure_Termination
另一个是使用 ShutdownHandler:
或者不要像java代码那样直接使用jetty-runner,而只是编写一个小的嵌入式用法:
于 2012-05-23T12:29:32.927 回答
0
事实证明,jetty-runner.jar 没有停止使用stop-port
and运行的现有 jetty 进程的功能stop-key
。
我在https://github.com/jetty-project/jetty-documentation/blob/master/src/docbkx/administration/runner/jetty-runner.xml中找到了答案
然后,要从不同的终端停止码头,您需要提供相同的端口和关键信息。为此,您需要本地安装 jetty、
jetty-maven-plugin
jetty-ant
插件,或编写自定义类
幸运的是,我正在实施 gradle build,因此jetty-ant
满足了我的需求。
于 2017-01-20T13:37:55.057 回答