我正在使用 intellij idea IDE,并且尝试在 Debug模式下从终端运行我的 jar 文件,并在代码中的几个位置设置断点。
我使用的命令是:java -jar myTestApp.jar -file "myfile.txt"-users myUser -Xdebug -Xrunjdwp:transport=dt_socket,server=127.0.0.1,suspend=n,address =8080
问题是我也在使用 commons-cli 库,因此 -Xdebug 和 -Xrunjdwp 参数不被识别为选项,我得到:
知道如何解决这个问题吗?
最佳答案
请假设问题作者在 2018 年没有使用 Java 5:
java -agentlib:jdwp=transport=dt_socket,address=8080,server=y,suspend=n -jar myTestApp.jar -file "myfile.txt"-users myUser
顺便说一句:如果您使用 Java 9 and later :将 address=8080
更改为 address=*:8080
,因为 localhost 不再是默认值。
停止告诉人们使用 -Xdebug
和 -Xrunjdwp
Xdebug用于Java 5及以下版本。从 Java 6 开始,就有了 -agentlib
可用。
Xdebug
允许通过 Xrunjdwp
访问调试器。如果您使用 Xdebug 并使用旧版调试器,JIT 现在会以兼容模式启动,这会极大地减慢您的调试速度。人们告诉然后使用 -Djava.compiler=NONE 来禁用兼容模式或添加 -Xnoagent 来禁用旧版调试器。不要使用 -agentlib
这样做!
关于java - 从终端以 Debug模式运行 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947783/