Tomcat启动忽略调试的jpda选项

cla*_*nes 9 java macos tomcat jpda

我试图在调试模式下运行Tomcat 7.如果我输入./catalina.sh jpda starttomcat,就好像jpda选项不在那里并且输出:

Michaels-MacBook-Pro:bin clairewilgar$ ./catalina.sh jpda start
Using CATALINA_BASE:   /Users/clairewilgar/Downloads/apache-tomcat-7.0.42-MIS
Using CATALINA_HOME:   /Users/clairewilgar/Downloads/apache-tomcat-7.0.42-MIS
Using CATALINA_TMPDIR: /Users/clairewilgar/Downloads/apache-tomcat-7.0.42-MIS/temp
Using JRE_HOME:        /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Using CLASSPATH:       /Users/clairewilgar/Downloads/apache-tomcat-7.0.42-MIS/bin/bootstrap.jar:/Users/clairewilgar/Downloads/apache-tomcat-7.0.42-MIS/bin/tomcat-juli.jar
Run Code Online (Sandbox Code Playgroud)

并且不会更改我的CATALINA_OPTS或任何其他内容.如果我尝试通过Eclipse连接,我会收到错误

"启动工作流程"遇到了问题.无法连接到远程VM.拒绝连接.

我已经尝试将端口更改为jpda端口到8001没有成功,我已经尝试在调用catalina.sh之前在终端中声明JPDA选项,但这没有任何区别.我的catalina.sh JPDA行如下:

if [ "$1" = "jpda" ] ; then
  if [ -z "$JPDA_TRANSPORT" ]; then
    JPDA_TRANSPORT="dt_socket"
  fi
  if [ -z "$JPDA_ADDRESS" ]; then
    JPDA_ADDRESS="8000"
  fi
  if [ -z "$JPDA_SUSPEND" ]; then
    JPDA_SUSPEND="n"
  fi
  if [ -z "$JPDA_OPTS" ]; then
    JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
  fi
  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
  shift
fi
Run Code Online (Sandbox Code Playgroud)

还有其他原因导致JPDA无法运行吗?我正在使用OSX(Mountain Lion),如果有任何与我可能错过的相关的内容.提前致谢.

编辑:我的catalina.out文件运行./catalina.sh jpda starthttp://pastebin.com/Z4GSvckr

Qbe*_*ben 6

如果你从它开始它同样的问题startup.sh?记住你可能需要编辑startup.shcatalina.sh使用jpda参数调用它.

您是否尝试手动设置变量?我从来没有遇到过这个问题,但我倾向于做一些像这个wiki中所描述的.

此外,如果上述变量已在您的环境中设置,则不会在catalina.sh脚本(-z)中重置它们.

您还可以尝试添加包含以下内容setup.shbin文件夹:

JPDA_TRANSPORT="dt_socket"
JPDA_ADDRESS="8000"
JPDA_SUSPEND="n"
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
Run Code Online (Sandbox Code Playgroud)

通过此更改,您只需启动tomcat即可startup.sh start.