ERROR: transport error 202: bind failed when starting Tomcat 7 in debug mode
ERROR: transport error 202: bind failed when starting Tomcat 7 in debug mode
我已经在 windows7-64 位机器上安装了 tomcat 7.0.68。
如果我 运行 catalina.bat jpda start ,它只是打开和关闭并且没有生成日志。
如果我 运行 catalina.bat jpda 运行 我得到以下错误
Using CATALINA_BASE: "C:\apache-tomcat-7.0.68"
Using CATALINA_HOME: "C:\apache-tomcat-7.0.68"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.68\temp"
Using JRE_HOME: "C:\Java\jre7"
Using CLASSPATH: "C:\apache-tomcat-7.0.68\bin\bootstrap.jar;C:\apache-
tomcat-7.0.68\bin\tomcat-juli.jar"
Picked up _JAVA_OPTIONS: -Xmx512M
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:750]
FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
一些其他应用程序正在使用 tomcat 试图打开的端口。默认情况下,它使用 8080、8443、8005、8009 等,
grep for tomcat 已使用以下命令使用的特定端口。
netstat -an
确定进程已经获取了冲突的端口并terminate/free启动以便tomcat可以使用它。
还有一件事,tomcat 调试模式尝试使用额外的端口进行调试(即 8000)。查看该端口是否已被其他进程使用
我更改了端口,将 JPDA_ADDRESS 设置为 1043,它对我有用。
这个问题好像重复了。而且,我觉得用CATALINA_OPTS更简单也更合适。
Tomcat failed to shutdown
上面的回答在下面。
Looking into catalina.sh, one can see CATALINA_OPTS is only used by the "start" and "start-security" commands, whereas JAVA_OPTS is also used by the "stop" command (at least with Tomcat 6.0.33 on openSUSE 12.1).
在我的例子中,我有几个 tomcat 运行,在两个 tomcat 中,我给出了相同的 jpda 地址,所以 tomcat 之一无法启动,因为地址已被使用。
尝试使用单行命令终止进程 -
pkill -9 -f tomcat
终止现有进程(kill -8 {PID})并重新启动。上面提到的错误应该消除
Windows回答
1.Detect PID
netstat -ano
找到你需要的端口和对应的PID
2.Kill 进程
taskkill /F /PID 1234
用你的PID
替换1234
我在 hybris 服务器启动时也遇到了同样的问题。
当我使用“hybrisserver.bat 调试”以调试模式启动 hybris(运行 在 tomcat 服务器上)时,我遇到了类似的错误。
因此 运行 服务器没有调试模式(即“hybrisserver.bat”)。
希望这对 hybris 开发人员有所帮助!
我已经在 windows7-64 位机器上安装了 tomcat 7.0.68。
如果我 运行 catalina.bat jpda start ,它只是打开和关闭并且没有生成日志。
如果我 运行 catalina.bat jpda 运行 我得到以下错误
Using CATALINA_BASE: "C:\apache-tomcat-7.0.68"
Using CATALINA_HOME: "C:\apache-tomcat-7.0.68"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.68\temp"
Using JRE_HOME: "C:\Java\jre7"
Using CLASSPATH: "C:\apache-tomcat-7.0.68\bin\bootstrap.jar;C:\apache-
tomcat-7.0.68\bin\tomcat-juli.jar"
Picked up _JAVA_OPTIONS: -Xmx512M
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:750]
FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
一些其他应用程序正在使用 tomcat 试图打开的端口。默认情况下,它使用 8080、8443、8005、8009 等, grep for tomcat 已使用以下命令使用的特定端口。
netstat -an
确定进程已经获取了冲突的端口并terminate/free启动以便tomcat可以使用它。 还有一件事,tomcat 调试模式尝试使用额外的端口进行调试(即 8000)。查看该端口是否已被其他进程使用
我更改了端口,将 JPDA_ADDRESS 设置为 1043,它对我有用。
这个问题好像重复了。而且,我觉得用CATALINA_OPTS更简单也更合适。
Tomcat failed to shutdown
上面的回答在下面。
Looking into catalina.sh, one can see CATALINA_OPTS is only used by the "start" and "start-security" commands, whereas JAVA_OPTS is also used by the "stop" command (at least with Tomcat 6.0.33 on openSUSE 12.1).
在我的例子中,我有几个 tomcat 运行,在两个 tomcat 中,我给出了相同的 jpda 地址,所以 tomcat 之一无法启动,因为地址已被使用。
尝试使用单行命令终止进程 -
pkill -9 -f tomcat
终止现有进程(kill -8 {PID})并重新启动。上面提到的错误应该消除
Windows回答
1.Detect PID
netstat -ano
找到你需要的端口和对应的PID
2.Kill 进程
taskkill /F /PID 1234
用你的PID
1234
我在 hybris 服务器启动时也遇到了同样的问题。
当我使用“hybrisserver.bat 调试”以调试模式启动 hybris(运行 在 tomcat 服务器上)时,我遇到了类似的错误。
因此 运行 服务器没有调试模式(即“hybrisserver.bat”)。
希望这对 hybris 开发人员有所帮助!