您可以使用Intellij IDEA调试maven目标吗?我知道我可以右键单击并运行 Debug 。但是,maven插件没有出现在我的外部库列表中,因此我无法进入代码并设置断点。因此, Debug 不停地运行目标,就像运行那样。
我使用的是OS X 10.8和IDEA 12.0.2。
编辑:目标
我为https://github.com/searls/jasmine-maven-plugin编写了自定义specRunner - 但是,$ specs $保持空白。所以我试着看看实际加载了哪些文件。
答案 0 :(得分:163)
想出来:
mvnDebug
而不是mvn
运行maven目标。例如。 mvnDebug clean
Remote
配置。
答案 1 :(得分:30)
很简单。我正在使用Intellj Idea 15.0.4
答案 2 :(得分:12)
老问题,但我有同样的需求,我需要一段时间才能让它发挥作用。希望可以帮助别人。
对于测试调试使用:
mvn <goal> -Dmaven.surefire.debug
或
mvn <goal> -Dmaven.failsafe.debug
执行停止并在地址5005(默认)侦听套接字时,运行配置的远程调试器。
如何配置:
运行 - &gt;修改配置 - &gt;远程 运输:插座 调试器模式:附加 端口:5005(默认)
- &GT;保存。
答案 3 :(得分:7)
仅在IntelliJ中调试maven目标的最简单方法是创建常规maven目标,并在runner选项卡中传递这些VM选项:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
其中8000是远程调试的端口号。
然后使用端口8000创建新的远程配置。运行maven目标后运行此配置。
答案 4 :(得分:6)
我认为最简单的解决方案是暂时将maven插件添加为依赖项。完成此操作后,IntelliJ将像处理任何其他依赖项一样处理此问题,您可以按常规方式设置断点。
答案 5 :(得分:2)
由于您正在使用Intellij,因此已经有一个内置的调试器,您不必使用mvnDebug这是一个命令行工具。查看本教程:How to Debug Maven Applications in Intellij IDEA。
本教程使用Maven Exec插件,让您无需使用命令行或MvnDebug
即可调试应用程序。分享它可能在这里很有价值。
答案 6 :(得分:1)
您可以参考above answer或者只是将此插件添加到pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>
-Xdebug -
Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
</jvmArguments>
</configuration>
</plugin>
使用mvn
代替mvnDebug
运行maven目标。例如。 mvn spring-boot:run
在IDEA中,添加远程配置。 在“设置”下,设置“传输:套接字”,“调试器模式:附加”,“主机:localhost”,“端口:8000”(默认端口为mvnDebug)。
只要您想调试代码,就在IDEA中作为Debug运行。
答案 7 :(得分:1)
@Peter Szanto的答案对我有用,但我不喜欢弄乱我的源代码。
而且我无法使这些MvnDebug
方法正常工作。
所以我尝试另一种方法,将插件源添加为IDEA模块。
这是详细步骤:
将插件源克隆为一个独立的项目。
在您的项目中,转到File -> New -> Module from Exist Sources
并添加在步骤1中克隆的插件项目。
现在您可以打开插件源代码并设置一些断点。
以调试模式运行您的maven目标,它应该在断点处停止。
答案 8 :(得分:0)
无需设置 Java Remote Debugger
或类似的设置。正如 official docs 中所述,现在实际上只是 right click
-> debug
上的 Maven
目标。