如何干净地停止m2e货物:从Eclipse运行?

如何干净地停止m2e货物:从Eclipse运行?,eclipse,maven,cargo,m2e,Eclipse,Maven,Cargo,M2e,使用cargo-maven2-plugin中的run-mojo,我想知道关闭容器的更好方法 控制台输出显示Ctrl+C停止,但这似乎没有任何作用 如果我终止,它会留下一个孤立的java.exe进程,我必须自杀 我做错什么了吗?这有点麻烦 编辑:我在独立配置中使用Tomcat。如果我使用嵌入式Jetty,terminate自然可以工作,但是我们需要Tomcat。CTRL+C的功能似乎是已知的。上一篇文章说,发布mvn cargo:stop将停止一个已经运行的容器,但是它对我不起作用,尽管我只使用原

使用cargo-maven2-plugin中的run-mojo,我想知道关闭容器的更好方法

控制台输出显示Ctrl+C停止,但这似乎没有任何作用

如果我终止,它会留下一个孤立的java.exe进程,我必须自杀

我做错什么了吗?这有点麻烦

编辑:我在独立配置中使用Tomcat。如果我使用嵌入式Jetty,terminate自然可以工作,但是我们需要Tomcat。

CTRL+C的功能似乎是已知的。上一篇文章说,发布
mvn cargo:stop
将停止一个已经运行的容器,但是它对我不起作用,尽管我只使用原型生成的webapp进行了一些快速测试

使用Eclipse Indigo Service Release 1(20110916-0149),如果我发出
mvn cargo:run
并等待容器启动(现在它是Jetty,没有配置;让我们看看你是否能让它像这样工作),点击红色的大终止按钮会杀死正在运行的进程,并且不会留下任何延迟
java{,w}.exe

我不知道您现在如何从Eclipse发布
mvn cargo:run
,但可能您正在将其用作一个外部工具(这就是为什么流程会落后的原因)。如果已安装m2eclipse,则应为其创建Maven运行配置,如下所示:

Run --> Run Configurations --> Maven build --> right click --> New
从现在开始应该很简单

(我发现了两个Eclipse错误记录(和),这似乎与Eclipse无法通过控制台读取正常的CTRL+C有关。)


我已经验证过,当我使用
mvn cargo:run
从Eclipse通过m2e插件启动外部Tomcat(7.0.23)实例时(在容器启动之后),CTRL+C确实不起作用

在此之后,我从Cygwin控制台运行了
mvn cargo:run
。结果是一样的

最后,我在Windows的cmd上试用了它,效果很好

我猜这是cargo maven插件中的一个bug

从Eclipse或Cygwin运行
mvn cargo:stop
对我来说是个好办法


通过在Eclipse中创建
Maven build
运行或调试配置,您可以从Eclipse运行cargo插件。

通常,如果您在调试模式下使用Eclipse Maven启动器运行cargo(即调试为-->Maven build…),则在Eclipse控制台上终止进程(红色按钮)不会留下任何孤立进程


我不知道为什么,但它是有效的:)至少在我的工作区上,我使用的是Maven构建配置。我注意到的区别是,当使用Jetty时,它是嵌入式的,我想我不记得看到过java.exe——而如果使用Tomcat,我使用的是非嵌入式安装(在目标目录中,我认为这是默认的),这就是额外的java.exe进程的来源。您链接的问题确实在单击terminate的上下文中捕获了问题。也许我错了。我会在周三回去工作的时候再看一看。我会给你这个奖金,因为你是唯一一个试图提供信息的人,这是一个很好的起点。谢谢你的努力@道格:我星期三回去工作时再看一看。我正等着呢。所以,我想最后它没有起作用。我将快速查看一下(我现在在家里安装了一个Tomcat)。我的经验是,您应该始终从
cmd
运行
cargo:run
(或者任何其他需要Ctrl-C的Windows程序)。mintty wiki上有更多关于此线程的背景评论:如何从Eclipse发布
mvn cargo:run
mvn cargo:stop