Ошибка выхода из JDWP AGENT_ERROR_TRANSPORT_INIT(197): транспорт не инициализирован [../../../src/share/back/debugInit.c:690]
Я пытался запустить с JRebel эту конфигурацию:
Вот мой вывод:
c:\JBOSS\jboss-portal-2.7.2\bin\run.bat -c default
c:\JBOSS\jboss-portal-2.7.2\bin>set JAVA_OPTS=-Dhttp.proxyHost=188.173.32.78 -Dhttp.proxyPort=3128 -DproxySet=true
===============================================================================
JBoss Bootstrap Environment
JBOSS_HOME: c:\JBOSS\jboss-portal-2.7.2
JAVA: C:\Program Files\Java\jdk1.6.0_25\bin\java
JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Dhttp.proxyHost=188.173.32.78 -Dhttp.proxyPort=3128 -DproxySet=true -Dprogram.name=run.bat -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
CLASSPATH: C:\Program Files\Java\jdk1.6.0_25\lib\tools.jar;c:\JBOSS\jboss-portal-2.7.2\bin\run.jar
===============================================================================
[2012-07-16 12:32:53,968] Artifact app-ear:ear: Artifact is being deployed, please wait...
[2012-07-16 12:32:53,972] Artifact my-portlet:war: Artifact is being deployed, please wait...
Connected to server
[2012-07-16 12:32:54,007] Artifact app-ear:ear: Artifact is deployed successfully
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
Disconnected from server
7 ответов
Обратите внимание на следующий параметр запуска в вашем сообщении.
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
Должен быть какой-то другой процесс, занимающий порт 8787.
Обычно эта ошибка возникает, когда порт уже используется. Исходя из моего опыта, это обычно происходит, когда сервер не запустился успешно, и сервер все еще работает в процессе. Если вы используете Windows, вы можете проверить диспетчер задач (Ctrl+Shift+Esc), а затем искать процесс "java.exe". Завершите его и попробуйте запустить свой сервер снова.
Порт 8787 уже используется. Если порт 8787 используется другим приложением, вам нужно выбрать другой номер порта в файле run.bat Например, 18787
ОШИБКА: ошибка транспорта 202: сбой привязки: адрес уже используется ОШИБКА: не удалось инициализировать транспортный dt_socket JDWP, TRANSPORT_INIT(510) из " JAVA_OPTS: адрес =8787 ", вы задали адрес 8787
найти пид
netstat -ap | grep 8787
убить theFindedPid
если вы все еще получаете pid с помощью " netstat -ap | grep 8787 ", то есть дочерние pid для theFindedPid 2. pstree -p и pstree -p | grep theFindedPid, чтобы найти, есть ли дочерние pid theFindedPid
найти groupPid для pid ps x -o "% r% p% y% x% c"
kill -TERM -groupPid
Эта проблема возникает всякий раз, когда порт, необходимый для запуска вашего сервера, уже используется каким-либо другим приложением. Так как порт 8080, который я использовал для моего сервера Jetty, уже использовался, он дал мне эту ошибку, поэтому я просто изменил порт с 8080 на 7070, и он работал для меня..
Проверьте порт отладки в вашем
standalone.sh
Это должно было быть
DEBUG_MODE=true
DEBUG_PORT="8787"
Измените режим отладки на false или передайте новый порт отладки из нового файла sh, который вызывает этот автономный --debug 8788
В моем случае этот аргумент был неверным:
address=server4.example.com:8787
Я пытался запустить с другого сервера, например,
server3.example.com
.