Ответ 1
Думаю, вы уже отлаживаете серверное приложение? В этом случае невозможно подключить другой экземпляр отладчика.
У меня есть проект в IntelliJ IDEA, который я хочу запустить локально. Когда я нажимаю на кнопку отладки, он говорит:
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Disconnected from server
Error occurred during initialization of VM
agent library failed to init: jdwp
Когда я нажимаю кнопку запуска, это работает. Что случилось?
Думаю, вы уже отлаживаете серверное приложение? В этом случае невозможно подключить другой экземпляр отладчика.
Вероятно, уже слишком поздно, чтобы помочь вам, но, возможно, это поможет кому-то еще. Ответ основан на публикации на форуме поддержки Алексея Сосновского.
Это может произойти, когда ваш JAVA_OPTS
содержит два аргумента -Xrunjdwp
. Например, один из этих аргументов может исходить из сценария запуска сервера, вызываемого IntelliJ для запуска контейнера, а другой может быть добавлен самим IntelliJ. Вы можете проверить, посмотрев JAVA_OPTS
в журнале при запуске контейнера без отладки. Если вы видите аргумент -Xrunjdwp
, просто найдите его в скрипте запуска контейнера и удалите его.
Скорее всего, проблема возникает из-за того, что вы указали параметры отладки в поле "Параметры VM" вашей конфигурации запуска. Все будет работать, если вы их удалите.
У меня была та же проблема, в моем случае -Xrunjdwp
была установлена дважды: одна в конфигурации отладки IDEA и снова в системных переменных в CATAALINA_OPTS
.
как только я удалил его из системных переменных (внутри IDEA только для чтения) проблема была исправлена.
Спасибо за советы, это помогло мне решить проблему тоже. Мое было связано с тем, что set DEBUG_OPTS = -agentlib: jdwp = transport = dt_socket, server = y, suspend = n, address = 5005
В моем каталине.бат
проверьте server.xml, если у вас есть jvmEntries , чтобы избавиться от этой записи из server.xml
<!-- <jvmEntries xmi:id="JavaVirtualMachine_1" classpath="" bootClasspath="" verboseModeClass="false" verboseModeGarbageCollection="false" verboseModeJNI="false" runHProf="false" hprofArguments="" debugMode="false" debugArgs="-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777" genericJvmArguments="">
Откройте консоль администратора (http://localhost:9060/ibm/console/login.do)
Серверы приложений> server1> Служба отладки
Снимите флажок Включить службу при запуске сервера, если установлен флажок, перезапустите сервер.