无法在Intellij IDEA中调试Java程序

6

我第一次在Intellij IDEA中遇到了一个问题,即无法调试Java程序。命令行输出正常,但断点被忽略。 可能是因为我创建了Maven配置来启动程序。 也许是因为我与JVM断开了连接,但我不知道如何连接。 这种行为的原因可能是什么呢?


你尝试过进行一次干净的构建吗?你确定你正在使用调试任务运行吗?这是一个独立的Java程序还是在容器中运行的东西? - hvgotcodes
嗨,这是一个独立的Java程序。我在另一个答案的评论中描述了我所做的过程。 - Konstantin Milyutin
6个回答

7
如果您正在使用IntelliJ调试运行在Maven中的某个内容,您可以:
  1. 通过IntelliJ运行maven构建并像其他内容一样进行调试
  2. 使用mvnDebug而不是mvn来运行构建。它将等待调试器连接到8000端口。您可以通过创建类型为“远程”的运行/调试配置连接到localhost:8000让IntelliJ执行此操作。

1
谢谢您的回答。我在IDEA中创建了一个类似于命令行版本的配置:mvn clean test -P launch。因此,我正在使用您写的第一个选项。但它根本停不下来。 - Konstantin Milyutin
谢谢@Ryan,第二种方式可行。如果你能帮我解决第一种方式的问题,那就太好了! - Konstantin Milyutin
3
Surefire会分叉一个进程来运行测试,这可能会对调试造成干扰。解决方法之一是在mvn命令行中添加“-DforkMode=never”(在IntelliJ的“Goals”框中输入)。注意不要改变原意。 - Ryan Stewart

3

1

这个解决方案对我很有效;

文件-->无效缓存-->勾选清除复选框-->重启

祝您有美好的一天。


1

在IntelliJ中,我的解决方案如下。前往:

设置 -> 构建、执行、部署 -> 构建工具 -> Maven -> 运行器

确保取消选中“将IDE构建/运行操作委托给Maven”的框。

之后,我可以进行调试,并且断点正常工作。


0

请记住,Maven和IDEA使用不同的构建过程。具有讽刺意味的是,我今天才设法使用以下工具构建、部署并在浏览器中运行我的应用程序:

  • Maven 3.0
  • 带有tomcat-maven-plugin的Tomcat 7.0.5
  • IDEA IU版本10

所以如果需要帮助,请随时提问。

Yucca


0

运行未命名时出错 无效参数:已在侦听 [超时,端口,本地地址] - Gank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接