我正在尝试在ubuntu中为Tomcat7设置JPDA 我使用了apt-get方法安装Tomcat7 通过尝试使用以下行编辑/usr/share/tomcat7/startup.sh文件,我尝试让tomcat7启动进入调试模式并允许通过eclipse进行远程调试。
JPDA_TRANSPORT="dt_socket"
JPDA_ADDRESS="8000"
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
编辑startup.sh文件后,我使用:
重新启动tomcat7 sudo service tomcat7 restart
然后尝试使用IP地址和端口8000连接到eclipse中的tomcat jpda。我从Eclipse收到“Connection Refused”错误。
我试图使用startup.sh脚本而不是服务可执行方法手动启动tomcat7,因为我认为可能没有调用startup.sh。
sudo ./startup.sh
以下输出失败:
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent
我还试图改变/etc/init.d/tomcat7的启动脚本,因为我正在使用service来启动/重启tomcat7而无济于事......
我做错了什么?
答案 0 :(得分:36)
在Ubuntu 12.04+中,/etc/default/tomcat7
中有一个这样的部分:
# To enable remote debugging uncomment the following line.
# You will then be able to use a java debugger on port 8000.
#JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
所以只需取消注释即可运行sudo service tomcat7 restart
。
答案 1 :(得分:1)
Tomcat中需要的设置:
1)在* / tomcat / bin /下创建setenv.sh文件。该位置将与catalina.sh文件相同
2)将以下内容放入其中。
export CATALINA_OPTS =“ - agentlib:jdwp = transport = dt_socket,address = 8000,server = y,suspend = n” 现在启动Tomcat服务器。一旦启动,请继续执行以下步骤。
Eclipse中所需的设置:
3)在Eclipse中转到Windows - > Preference - >常规 - >网络连接 - > Active Provider应该是Direct。更改后直接重启eclipse。
4)在eclipse中右键单击项目并调试为 - >调试配置 - >远程Java应用程序 - >创建新配置。
填写以下字段
姓名:按照您的意愿
项目:选择您需要调试的项目。
ConnectionType:标准套接字附加
主机:Localhost端口:8000(应该与第2点中提到的相同)
然后点击调试。
调试将从端口8000开始。现在您可以通过保留断点进行验证。