终止在eclipse中运行的maven jetty插件
我正在使用maven jetty插件快速运行和调试我在Eclipse/m2eclipse下开发的WebApp。 它启动正常,我可以完全使用调试器,但我无法正常停止应用程序 当我在控制台视图中执行ctrl+c时,它什么也不做,尽管在启动器配置中启用了“分配控制台” 在简单的java项目中,ctrl+c选项可以正常工作(在windows上测试)。因此,这似乎是一些远程/嵌入式jvm问题。我的应用程序使用持久JMS队列,因此每次重新启动后,我都需要手动终止另一台服务器上的会话。这不是很灵活终止在eclipse中运行的maven jetty插件,eclipse,maven,jetty,m2eclipse,Eclipse,Maven,Jetty,M2eclipse,我正在使用maven jetty插件快速运行和调试我在Eclipse/m2eclipse下开发的WebApp。 它启动正常,我可以完全使用调试器,但我无法正常停止应用程序 当我在控制台视图中执行ctrl+c时,它什么也不做,尽管在启动器配置中启用了“分配控制台” 在简单的java项目中,ctrl+c选项可以正常工作(在windows上测试)。因此,这似乎是一些远程/嵌入式jvm问题。我的应用程序使用持久JMS队列,因此每次重新启动后,我都需要手动终止另一台服务器上的会话。这不是很灵活 有人知道问
有人知道问题的根源是什么吗?或者可能有一些已知的解决方法?如果您使用m2eclipse插件,您可以直接从eclipse运行maven 1转到调试配置,并在maven build下创建一个新条目。
2给它起个名字。
3选择maven项目的基本目录。
4对于目标,输入jetty:run,然后单击debug按钮 一切都应该是好的。您可以在eclipse内部的控制台视图中终止它。所有断点都应正常工作 要从eclipse正常关闭应用程序,您必须执行以下操作。 将以下配置添加到jetty插件的pom中。这里重要的部分是停止键和停止端口
<configuration>
<tmpDir>target/not/necessary</tmpDir>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
</webAppConfig>
<stopPort>9966</stopPort>
<stopKey>jetty-stop</stopKey>
</configuration>
目标/不/必要
/${project.name}
9966
码头停靠站
接下来为maven添加另一个运行配置,但这次将目标设置为jetty:stop。它将执行优雅的关机
为了使其更加自动化:可以将目标设置为jetty:stop jetty:start。这样,如果进程未运行,将出现一个小警告,但引导进程将继续。否则
其他进程将正常关闭,然后启动serwer
只需要一个命令,它可以通过一个快捷方式(运行上次构建)运行,减少上下文切换。如果您使用m2eclipse插件,您可以直接从eclipse运行maven 1转到调试配置,并在maven build下创建一个新条目。
2给它起个名字。
3选择maven项目的基本目录。
4对于目标,输入jetty:run,然后单击debug按钮 一切都应该是好的。您可以在eclipse内部的控制台视图中终止它。所有断点都应正常工作 要从eclipse正常关闭应用程序,您必须执行以下操作。 将以下配置添加到jetty插件的pom中。这里重要的部分是停止键和停止端口
<configuration>
<tmpDir>target/not/necessary</tmpDir>
<webAppConfig>
<contextPath>/${project.name}</contextPath>
</webAppConfig>
<stopPort>9966</stopPort>
<stopKey>jetty-stop</stopKey>
</configuration>
目标/不/必要
/${project.name}
9966
码头停靠站
接下来为maven添加另一个运行配置,但这次将目标设置为jetty:stop。它将执行优雅的关机
为了使其更加自动化:可以将目标设置为jetty:stop jetty:start。这样,如果进程未运行,将出现一个小警告,但引导进程将继续。否则
其他进程将正常关闭,然后启动serwer
只需要一个命令,它可以通过一个快捷方式(运行上次生成)运行,从而减少上下文切换。解决方案1
mvn Jetty:Run
解决方案1
mvn Jetty:Run
这就是我从一开始就在做的。也许我不清楚。我可以使用“红色按钮”终止进程,但它不会执行正确的关闭。当我在使用ctrl+c从命令行启动进程后停止该进程时,它将执行正确的清理。但是ctrl+c在您描述的场景中不起作用(至少在我的机器上是这样的-虚拟机windows xp)。好的。对不起,我错过了你问题的那一部分。我已经补充了关于如何从eclipse优雅地关闭jetty的答案。这是一种应该有效的方法。我接受这个答案。它不像我想的那么舒服,但它应该能胜任。谢谢。我今天有一个小小的顿悟。如果我在jetty:start之前加上jetty:stop目标,效果会很好。我会更新你的答案。这个配置应该放在webapp的主pom.xml中,还是你说jetty插件本身有一个特定的配置?这就是我从一开始就在做的。也许我不清楚。我可以使用“红色按钮”终止进程,但它不会执行正确的关闭。当我在使用ctrl+c从命令行启动进程后停止该进程时,它将执行正确的清理。但是ctrl+c在您描述的场景中不起作用(至少在我的机器上是这样的-虚拟机windows xp)。好的。对不起,我错过了你问题的那一部分。我已经补充了关于如何从eclipse优雅地关闭jetty的答案。这是一种应该有效的方法。我接受这个答案。它不像我想的那么舒服,但它应该能胜任。谢谢。我今天有一个小小的顿悟。如果我在jetty:start之前加上jetty:stop目标,效果会很好。我会更新你的答案。这个配置应该放在webapp的主pom.xml中,还是你说jetty插件本身有一个特定的配置?