使用cargo-maven2-plugin中的run mojo,我想知道关闭容器的更好方法。
控制台输出显示Ctrl + C停止,但似乎什么也没做。
如果我终止,它会留下一个孤儿java.exe进程,我必须自杀。
我做错了吗?这有点麻烦。
编辑:我在独立配置中使用Tomcat。如果我使用嵌入式Jetty,自然会终止工作,但我们需要Tomcat。
答案 0 :(得分:5)
CTRL + C 似乎是一个已知的Eclipse/Jetty issue。最后一篇文章说,发布mvn cargo:stop
会阻止已经运行的容器,但它对我不起作用 - 虽然我只使用原型生成的webapp进行了一些快速测试。
使用 Eclipse Indigo Service Release 1(20110916-0149)如果我发出mvn cargo:run
并等待容器启动(现在它的Jetty,没有配置;让& #39; s看看你是否可以让它像这样工作)点击大红色终止按钮会终止正在运行的过程,并且不会留下任何遗留的java{,w}.exe
。
我不知道你现在如何从Eclipse发出mvn cargo:run
,但也许你正在将它用作外部工具(而且'为什么一个过程被抛在后面)。如果你安装了m2eclipse,你应该为它创建Maven运行配置:
Run --> Run Configurations --> Maven build --> right click --> New
从这里开始应该是直截了当的。
(我发现两个Eclipse错误票证(here和here)似乎与Eclipse无法读取健康< / em> CTRL + C 通过它的控制台。)
我已经验证了当我通过m2e插件从Eclipse启动带有mvn cargo:run
的外部Tomcat(7.0.23)实例时(在容器启动之后) CTRL < / kbd> + C 确实没有用。
在此之后我从我的Cygwin控制台跑了mvn cargo:run
。结果是一样的。
最后,我已经在Windows的 cmd 中尝试了它,但它确实有效。
我的猜测是这是cargo-maven-plugin
中的错误。
从Eclipse或Cygwin运行mvn cargo:stop
为我做了诀窍。
您可以通过在Eclipse中创建Maven build
运行或调试配置来运行Eclipse中的货运插件。
答案 1 :(得分:0)
一般情况下,如果您在DEBUG模式下使用Eclipse Maven启动程序运行Cargo(即Debug as - &gt; Maven build ...),则在Eclipse控制台(红色按钮)上终止进程不会留下任何孤儿过程...
我不知道为什么,但它有效:)至少在我的工作区