您可以使用Intellij IDEA调试Maven目标吗?我知道我可以右键单击并运行Debug。但是,该maven插件未出现在“ 外部库”列表中,因此无法进入代码并设置断点。因此,调试就像运行一样,不间断地运行目标。
我正在使用OS X 10.8和IDEA 12.0.2。
编辑:目标
我已经为https://github.com/searls/jasmine-maven-plugin编写了自定义specRunner- 但是,$ specs $保持为空。因此,我尝试查看实际加载的文件。
您可以使用Intellij IDEA调试Maven目标吗?我知道我可以右键单击并运行Debug。但是,该maven插件未出现在“ 外部库”列表中,因此无法进入代码并设置断点。因此,调试就像运行一样,不间断地运行目标。
我正在使用OS X 10.8和IDEA 12.0.2。
编辑:目标
我已经为https://github.com/searls/jasmine-maven-plugin编写了自定义specRunner- 但是,$ specs $保持为空。因此,我尝试查看实际加载的文件。
Answers:
弄清楚了:
mvnDebug
代替来运行maven目标mvn
。例如mvnDebug clean
Remote
配置。
mvn test -Dtest=com.example.MyTest
(我的测试用例仅在使用maven运行时失败)-在这种情况下,IDEA断点将被忽略,似乎... :(
好简单。我正在使用Intellj Idea 15.0.4
这是屏幕截图:
仅在IntelliJ中调试Maven目标的最简单方法是创建一个常规的Maven目标,并在“运行器”选项卡中传递这些VM选项:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
其中8000是用于远程调试的端口号。
然后使用端口8000创建新的远程配置。在运行maven目标之后运行此配置。
我认为最简单的解决方案是临时添加Maven插件作为依赖项。完成此操作后,IntelliJ将像对待其他任何依赖项一样对待此问题,您可以按常规方式设置断点。
您可以参考上面的答案,也可以将此插件添加到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
代替来运行Maven目标mvnDebug
。例如mvn spring-boot:run
在IDEA中,添加一个远程配置。在设置下,设置传输:套接字,调试器模式:附加,主机:本地主机,端口:8000(mvnDebug的默认端口)。
每当您要调试代码时,都可以在IDEA中作为Debug运行。
由于您正在使用Intellij,因此那里已经有一个内置调试器,您不必使用命令行工具mvnDebug。查看本教程:如何在Intellij IDEA中调试Maven应用程序。
本教程使用Maven Exec插件,使您无需使用命令行或即可调试应用程序MvnDebug
。共享思想在这里可能有价值。
exec:java
。但是,如果您需要为JVM提供其他参数,则需要使用exec:exec
(请参阅stackoverflow.com/questions/7305090/…),该方法无法通过这种方式进行调试。