当我尝试通过以下方式在 debug 模式下启动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.
并且服务器无法启动。
答案 0 :(得分:2)
如果 jvm.options 文件已包含启用调试器的选项,请使用
liberty start <server>
子命令而不是:
liberty debug <server>
E.g。在我的情况下,我的服务器有文件 ... / 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 子命令。
注意:阅读此说明后,错误消息会变得清晰,但是如果某人认为这是解决方案,那么这个Q&amp; A很有用。
答案 1 :(得分:0)
只是为了添加更新,jvm.options 也可以驻留在 /usr/shared 中,因此相同的调试选项可以跨越多个服务器。如果您运行多个服务器并且需要单独调试它们,这将是一种糟糕的方法。
答案 2 :(得分:-1)
在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