Paw*_*wel 1 java apache-commons-cli
我正在使用intellij idea IDE,并且试图从终端以调试模式运行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及更高版本:更改address=8080为,address=*:8080因为localhost不再是默认值。
停止告诉人们使用-Xdebug和-Xrunjdwp
Xdebug在Java 5及以下版本中使用。从Java 6开始就可以-agentlib使用。
Xdebug允许通过访问调试器Xrunjdwp。现在,如果您使用JIT Xdebug,它将以兼容模式启动,并且使用了传统调试器,这会极大地减慢调试速度。人们告诉然后使用-Djava.compiler=NONE禁用兼容模式或添加-Xnoagent以禁用旧式调试器。不要这样做-agentlib!