这个项目使用 Ant 作为其构建系统。当我通过 Ant 运行项目时,我可以调试项目吗?
Ant 主要用于构建,而不是用于运行 Java 应用程序。
但是,好吧,我假设您正在使用antJava任务运行您的应用程序。
Ant Java 任务
如果是这样,是的,您可以使用远程调试来执行此操作。
远程调试 Java 应用程序
事实上,你可以调试任何这样的Java应用程序。
通过 ant 启动的应用程序仍然是 Java 应用程序。
java 运行时任务中包括此行,在构建中.xml:
<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"/>
例如,如果是蚂蚁 junit 任务,它将是这样的:
<target name="test" depends="test-compile">
<junit showoutput="yes" fork="true">
<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"/>
</junit>
</target>
然后运行目标
ant clean test
Ant 测试将等到我们连接调试器。它将显示输出:
test:
[junit] Listening for transport dt_socket at address: 5005
然后,只需在 Intellij(或首选 IDE)中创建、运行远程运行/调试配置即可。
有一个专门的 IDEA 插件用于调试带有断点的 ant 脚本源代码:
https://plugins.jetbrains.com/plugin/7195?pr=idea
https://github.com/opticyclic/antdebugger/
或者可以使用与 eclipse 中的 ant 调试相同的方法。