Ошибка выхода из 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

  1. найти пид

    netstat -ap | grep 8787

убить theFindedPid

если вы все еще получаете pid с помощью " netstat -ap | grep 8787 ", то есть дочерние pid для theFindedPid 2. pstree -p и pstree -p | grep theFindedPid, чтобы найти, есть ли дочерние pid theFindedPid

  1. найти groupPid для pid ps x -o "% r% p% y% x% c"

  2. 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.

Другие вопросы по тегам