使用 cargo-maven2-plugin 中的 run mojo 我想知道关闭容器的更好方法。
控制台输出显示 Ctrl+C 停止,但这似乎无济于事。
如果我终止,它会留下一个孤立的 java.exe 进程,我必须杀死自己。
难道我做错了什么?这有点麻烦。
编辑:我在独立配置中使用 Tomcat。如果我使用嵌入式 Jetty,自然会终止工作,但是我们需要 Tomcat。
CTRL+C似乎是一个已知的Eclipse /Jetty 问题。最后一篇文章说发布会mvn cargo:stop
停止一个已经在运行的容器,但是它对我不起作用——尽管我只是用原型生成的 webapp 做了一些快速测试。
使用Eclipse Indigo Service Release 1 (20110916-0149)如果我发出mvn cargo:run
并等待容器启动(现在它是 Jetty,没有配置;让我们看看你是否可以让它像这样工作)点击红色的大终止按钮会杀死正在运行的进程,没有java{,w}.exe
留下任何挥之不去的东西。
我不知道您mvn cargo:run
现在如何从 Eclipse 发布,但也许您将它用作外部工具(这就是为什么留下一个流程)。如果您安装了 m2eclipse,您应该为它创建 Maven 运行配置,如下所示:
Run --> Run Configurations --> Maven build --> right click --> New
从这里开始应该很简单。
(我发现了两个 Eclipse 错误票证(此处和此处),这似乎与 Eclipse 无法通过其控制台读取健康 CTRL的+有关。)C
我已经验证,当我mvn cargo:run
通过 m2e 插件从 Eclipse 启动外部 Tomcat (7.0.23) 实例时(在容器启动后)CTRL+C确实不起作用。
在此之后,我mvn cargo:run
从我的 Cygwin 控制台运行。结果是一样的。
最后,我从 Windows 的cmd尝试了它,它工作正常。
我的猜测是,这是cargo-maven-plugin
.
从 Eclipse 或 Cygwin运行mvn cargo:stop
对我来说都是诀窍。
您可以通过在 Eclipse 中创建Maven build
运行或调试配置来从 Eclipse 运行货物插件。
一般来说,如果您在调试模式下使用 Eclipse Maven 启动器运行 Cargo(即 Debug as --> Maven build...),在 Eclipse 控制台(红色按钮)上终止进程不会留下任何孤立进程...
我不知道为什么,但它有效:) 至少在我的工作区