首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为mvn tomcat插件(jpda)设置agentlib属性

如何为mvn tomcat插件(jpda)设置agentlib属性
EN

Stack Overflow用户
提问于 2012-09-14 17:51:34
回答 3查看 11.2K关注 0票数 13

eclipse debug remote web application => How do I debug a remote application in my eclipse相关

如何在mvn tomcat插件中设置/存档?http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/

唯一有帮助的是设置systemProperty,但这对我不起作用;

目标:让tomcat通过maven在控制台上运行,但允许对不同的IDE进行远程调试

(是的伙计们,我们可以在Eclipse WTP中运行tomcat!这不是问题所在;)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-14 17:59:03

代码语言:javascript
复制
$ export MAVEN_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
$ mvn tomcat7:run-war

^^就是这样,不是很酷(因为它不在POM中),但它可以工作

来源:http://aaronz-sakai.blogspot.de/2009/02/debugging-jetty-when-running-mvn.html

票数 30
EN

Stack Overflow用户

发布于 2013-10-24 21:06:08

这是一个有点旧的线程,但为了完整起见,我想我可能会在这里添加一点。

无论出于什么奇怪的原因,该插件都不提供调试选项配置。因此,您惟一的选择是手动指定运行该进程的JVM的调试配置。在您的环境中,有三种方法可以实现这一点:

指定众所周知的maven环境变量

  1. Using (正如childno.de)
  2. Directly为maven指定选项所描述的那样)(无env.所需变量):

mvn -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y mvn-Xdebug-Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y Run configuration基本上与2)相同,但这是在eclipse中定义的(如果你根本不想离开集成开发环境,那就更好了)。为此,您需要指定一个Maven Build Run configuration。将目标设置为tomcat7:run (或类似的),然后导航到JRE选项卡。可以在VM arguments区域中指定调试配置:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y

如果您选择3),则tomcat7的精确运行目标与启用调试无关。根据您的用例(动态web项目、war等)进行选择。插件配置也是如此。但是,请确保在项目pom的pluginManagement部分中指定您正在使用tomcat maven插件:

代码语言:javascript
复制
<pluginManagement>
   <plugins>
        <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
    </plugin>
    </plugins>
</pluginManagement>
票数 6
EN

Stack Overflow用户

发布于 2014-03-08 01:55:57

或者..。您可以简单地将以下标记添加到插件配置中

代码语言:javascript
复制
 <jpda>true</jpda>

然后,当您执行: mvn tomcat7:run时,它将在端口8000上启动jpda。

有趣的是,尽管我已经测试过它并且它工作正常,但我在开源代码库中找不到任何代码来解释它为什么工作,我也没有找到任何方法来改变默认的端口8000。

当涉及到这个插件的文档时,Apache似乎犯了错。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12422125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档