繁体   English   中英

Java远程调试不适用于Eclipse或IntelliJ。 需要帮助

[英]Java remote debugging not working with Eclipse or IntelliJ . Help needed

我在这里有一个非常简单的项目https://github.com/sherry-ummen/javadebuggingnotworking

我试图使远程调试正常工作,因为在类似的情况下我需要它来进行调试,因此我想尝试一个简单的方法来进行调试。

我在第12行放置了一个断点。是否进行过maven构建以创建jar,还为此设置了远程调试配置? 在此处输入图片说明
为了开始调试,我使用了以下命令

java -Xdebug -Xrunjdwp:transport = dt_socket,地址= 8998,服务器= y -jar my-debug-test-0.0.1-SNAPSHOT.jar

现在,当进程正在侦听时,我转到IntelliJ并按远程调试配置,然后在Intellij输出窗口上得到以下消息,而没有遇到断点。

连接到目标VM,地址:“ localhost:8998”,传输:“ socket”

与目标VM断开连接,地址:“ localhost:8998”,传输:“ socket”

而且在我启动Java进程的控制台窗口中,以下消息也停止了

C:\Users\sherry.ummen\eclipse-workspace\my-debug-test\target>java -Xdebug -
Xrunjdwp:transport=dt_socket,address=8998,server=y -jar my-debug-test-0.0.1-
SNAPSHOT.jar
Listening for transport dt_socket at address: 8998
no main manifest attribute, in my-debug-test-0.0.1-SNAPSHOT.jar

现在,我真的不明白为什么它会以这种方式运行,并且我看不到断点。 这可能是一个非常愚蠢的问题,但是我的Java开发技能非常有限,因此对我来说很头疼。

在您的情况下,IDEA或Eclipse已成功连接到该进程。 问题是,您的jar中没有定义的主类(应在清单中定义)。 因此java进程将立即停止,因为它没有要运行的主类。

在jar上的META-INF过滤器中,应该有一个文件名MANIFEST.MF,在该文件中应该有一个这样的条目

Main-Class: mypackage.MyMainClass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM