当我尝试通过以下方式在调试模式下启动WebSphere Liberty服务器(以连接Eclipse Java调试器)时:
$ ./wlp/bin/server debug MyServer
我收到以下错误:
Error occurred during initialization of VM
agent library failed to init: jdwp
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
并且服务器无法启动。
如果jvm.options文件已包含启用调试器的选项,则使用
liberty start <server>
子命令而不是:
liberty debug <server>
例如。在我的情况下,我的服务器有文件... / usr / servers / MyServer / jvm.options包含内容:
#Generated by liberty-maven-plugin
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777
所以这些选项与debug子命令触发的选项相冲突。
您可以删除jvm.options内容或文件,而是使用debug子命令。
注意:阅读此说明时,错误消息会变得清晰,但是如果某个人没有想到这个解决方案,那么这个问答很有用。
在jvm.options中输入以下条目:
-Dwas.debug.mode=true
-Dcom.ibm.websphere.ras.inject.at.transform=true
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777