Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 调试maven插件';在maven web项目中执行_Debugging_Maven 2 - Fatal编程技术网

Debugging 调试maven插件';在maven web项目中执行

Debugging 调试maven插件';在maven web项目中执行,debugging,maven-2,Debugging,Maven 2,有没有办法在maven插件运行时实际调试它。我的意思是,例如,我们有maven clean插件。因此,当这个插件执行它的操作时,我们是否可以在maven clean插件的源代码中进行调试和检查 显然,我们必须在eclipse中将插件的Java源代码关联起来,但是我们如何设置它以进行调试呢 谢谢 编辑:更改主题 对不起,伙计们,也许我应该更准确一点。实际上,我有我的web应用程序,它是一个maven项目,使用第三方maven插件。现在,当我进行mvn清理安装时,我需要调试我的第三方maven插件。

有没有办法在maven插件运行时实际调试它。我的意思是,例如,我们有maven clean插件。因此,当这个插件执行它的操作时,我们是否可以在maven clean插件的源代码中进行调试和检查

显然,我们必须在eclipse中将插件的Java源代码关联起来,但是我们如何设置它以进行调试呢

谢谢

编辑:更改主题
对不起,伙计们,也许我应该更准确一点。实际上,我有我的web应用程序,它是一个maven项目,使用第三方maven插件。现在,当我进行mvn清理安装时,我需要调试我的第三方maven插件。现在在我的maven依赖中,我没有对插件jar的依赖,这很正常。有什么想法吗?

这可能有点不对劲,因为我要谈的是IntelliJ IDEA。使用IDEA,您可以直接加载maven项目,然后只需右键单击构建生命周期阶段之一(清理、打包、安装等)并选择调试。IDE然后使用正确的类路径运行该阶段,并将您放入调试器中

我使用调试器调试了我自己的几个插件。我从来没有试过调试第三方插件,尽管我认为如果jar中仍然有调试符号,并且您有相应的源代码,那么这将相对轻松


这个想法是免费提供的。

如果您想在eclipse中调试Maven执行,下面是我是如何做到的,主要是使用命令行工具(没有使用eclipse插件)(在某些时候可能会关闭,我已经6个月没有这样做了):

  • 从命令行运行,
    mvndebug
    代替
    mvn
    命令。Maven将开始启动并等待外部调试器出现在TCP端口上,然后再继续。注意端口号
  • 在Eclipse中配置自定义的远程调试配置。(请参阅,远程调试)-将端口号设置为mvndebug使用的端口号。还将用于调试的源文件放在调试配置中
  • 启动远程调试配置。Maven应该继续,您将在Eclipse中捕获bug

如果您使用带有m2eclipse插件的Eclipse,只需使用调试为…而不是运行为…启动构建即可


如果您没有使用m2eclipse,请运行
mvnDebug
而不是
mvn
(对于Maven 2.0.8+),并在端口8000上附加远程调试器。对于NetBeans 7.4中的Maven 2.0.8,右键单击项目>属性>操作。选择
buildproject
操作(或任何其他操作),然后在“设置属性”旁边单击
Add
Debug Maven Build

只需在命令中用
mvnDebug
替换
mvn

mvnDebug clean install
结果JVM在端口8000侦听调试器。为了实现更精细的控制,您可以使用标准JVM调试参数设置
MAVEN_OPTS
环境变量:

export MAVEN_OPTS="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
mvn clean install

我在Eclipse中为我自己的插件做了或多或少的同样的事情。你能为我提供关于Eclipse的任何链接吗?你可以在网上找到两个用于Eclipse的“大”Maven插件,谢谢。但这与我们通常使用rt的m2eclipse有关。我相信它没有任何信息。不管怎样,我会尝试谷歌搜索更多intensively@user320550:您的工作区中有插件的来源吗?如果没有,试试看。事实上这就是我试过的。我在工作区中设置了maven项目。我还建立了一个maven插件项目,该项目包含插件的源代码。现在我转到maven项目的pom.xml位置并执行mvndebug安装。它给我的端口是8000。现在,我右键单击我的maven项目,选择远程调试并选择端口8000。在sources选项卡中,我添加了maven插件项目作为源代码查找路径,并单击remote debug。我已经在我的插件java文件中设置了断点。现在,在我的cmd中,它似乎被卡住了,什么也没做。@user320550:它只是看起来卡住了,什么也没做。你不是真的碰到了断点吗?谢谢你的帮助,帕斯卡。现在它击中了我的断点,但是击中它需要将近一分钟的时间。[对于mvnDebug,加上]1