在远程调试模式下启动 tomcat 时出错
Error during starting tomcat in remote debug mode
Tomcat 未在调试模式下启动。获取以下日志。
C:\ApacheSoft\apache-tomcat-7.0.67\bin>catalina.bat jpda start
Using CATALINA_BASE: "C:\ApacheSoft\apache-tomcat-7.0.67"
Using CATALINA_HOME: "C:\ApacheSoft\apache-tomcat-7.0.67"
Using CATALINA_TMPDIR: "C:\ApacheSoft\apache-tomcat-7.0.67\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_79"
Using CLASSPATH: "C:\ApacheSoft\apache-tomcat-7.0.67\bin\bootstrap.jar;C:\ApacheSoft\apache-tomcat-7.0.67\bin\tomcat-juli.jar"
=transport=dt_socket was unexpected at this time.
C:\Program Files\Java\jdk1.7.0_79
中的 space 字符导致问题。
用短名称替换它可以解决问题。
执行命令dir c:\PROGRA~1\Java\jdk1.7.0_79
并检查文件列表以验证PROGRA~1
是否正确。如果没有,请尝试 PROGRA~2
等等...
然后更改环境变量JAVA_HOME
或JRE_HOME
再试一次。
让我猜猜,您在 blog.trifork.com 上阅读了一个名为 "HOW TO REMOTELY DEBUG APPLICATION RUNNING ON TOMCAT FROM WITHIN INTELLIJ IDEA" 的 link。
说明说要在 setenv.bat 中为 Windows 执行此操作:
set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
是的,那是行不通的。 catalina.bat 添加了自己的引号,所以它最终尝试这样做:
if not ""-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"" == "" goto gotJpdaOpts
更好的方案是这样做:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n
我知道这是将近一年前的事了,但我 运行 对此感兴趣,最终不得不从 Tomcat 批处理文件中删除“@echo off”并自己追查。希望这会得到投票,这样它就可以让其他人免于悲伤。
还有另一种可能性,您可以在远程调试模式 tomcat 启动期间配置两种不同的方式以在 jvm 中启用 JPDA。
在 windows 中,有几种方法可以在 jvm 中启用 JPDA。
1.one 方法是:
打开startup.bat.
添加下面的行
set JPDA_ADDRESS=8001
set JPDA_TRANSPORT=dt_socket
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
2.the第二种方式是:
在 CATALINA_HOME/bin 目录下创建一个 setenv.bat 文件。
并添加以下行:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n
当然,他们是其他方式。
我和你有同样的问题,后来发现我这两种方式都配置了,都会导致JPDA端口打不开,没有报错详情。
然后我只选择方法一,端口打开成功。
希望这可以帮助其他新手。
Tomcat 未在调试模式下启动。获取以下日志。
C:\ApacheSoft\apache-tomcat-7.0.67\bin>catalina.bat jpda start
Using CATALINA_BASE: "C:\ApacheSoft\apache-tomcat-7.0.67"
Using CATALINA_HOME: "C:\ApacheSoft\apache-tomcat-7.0.67"
Using CATALINA_TMPDIR: "C:\ApacheSoft\apache-tomcat-7.0.67\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_79"
Using CLASSPATH: "C:\ApacheSoft\apache-tomcat-7.0.67\bin\bootstrap.jar;C:\ApacheSoft\apache-tomcat-7.0.67\bin\tomcat-juli.jar"
=transport=dt_socket was unexpected at this time.
C:\Program Files\Java\jdk1.7.0_79
中的 space 字符导致问题。
用短名称替换它可以解决问题。
执行命令dir c:\PROGRA~1\Java\jdk1.7.0_79
并检查文件列表以验证PROGRA~1
是否正确。如果没有,请尝试 PROGRA~2
等等...
然后更改环境变量JAVA_HOME
或JRE_HOME
再试一次。
让我猜猜,您在 blog.trifork.com 上阅读了一个名为 "HOW TO REMOTELY DEBUG APPLICATION RUNNING ON TOMCAT FROM WITHIN INTELLIJ IDEA" 的 link。
说明说要在 setenv.bat 中为 Windows 执行此操作:
set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
是的,那是行不通的。 catalina.bat 添加了自己的引号,所以它最终尝试这样做:
if not ""-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"" == "" goto gotJpdaOpts
更好的方案是这样做:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=1043,server=y,suspend=n
我知道这是将近一年前的事了,但我 运行 对此感兴趣,最终不得不从 Tomcat 批处理文件中删除“@echo off”并自己追查。希望这会得到投票,这样它就可以让其他人免于悲伤。
还有另一种可能性,您可以在远程调试模式 tomcat 启动期间配置两种不同的方式以在 jvm 中启用 JPDA。
在 windows 中,有几种方法可以在 jvm 中启用 JPDA。 1.one 方法是:
打开startup.bat.
添加下面的行
set JPDA_ADDRESS=8001
set JPDA_TRANSPORT=dt_socket
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
2.the第二种方式是:
在 CATALINA_HOME/bin 目录下创建一个 setenv.bat 文件。
并添加以下行:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n
当然,他们是其他方式。 我和你有同样的问题,后来发现我这两种方式都配置了,都会导致JPDA端口打不开,没有报错详情。 然后我只选择方法一,端口打开成功。 希望这可以帮助其他新手。