2013-04-11 82 views
4

我想附上一些正在执行maven-invoker-plugin的Maven插件的测试。如何做到这一点?我似乎无法找到任何资源,它似乎并没有被简单地做:如何调试使用maven-invoker-plugin执行的Maven插件测试?

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

我的意思是 - 我可以连接这种方式,但是当maven-invoker-plugin开始,它只是坐在那里。永远...

任何帮助,将不胜感激。

回答

7

您必须知道,maven-invoker-plugin会调用一个单独的Maven实例来运行集成测试,如使用适当的配置选项手动调用mvn。这就是为什么行家支...

你可以把相应的选项进入invoker.mavenOpts或成invoker.properties文件的原因。 另一种选择是更改mavenExecuteable并使用mvnDebug而不是mvn。

+1

+1:我同意。不过,我认为分叉的Maven是在同一个JVM中调用的,并且它只是作为一个普通类被调用。显然,这实际上是分道扬a的​​过程。 – carlspring 2013-04-11 22:36:32

+2

它不是一个单独的类,也没有其他任何东西,它真的像在命令行上调用mvn manualy(请参阅[maven invoker share component](http://maven.apache.org/shared/maven-invoker/usage.html)),它处理子调用 – khmarbaise 2013-04-12 06:11:10

+1

非常感谢您提供此信息! – carlspring 2013-04-12 09:05:40

0

显然,(在进一步检查build.log后)采用上述方式,它会冻结,因为Maven正在等待您第二次连接远程调试器 - 这次是分叉进程。