我试图在Ubuntu中设置Tomcat7的JPDA。
我已经使用了安装Tomcat7的apt-get方法。
通过尝试使用以下命令编辑/usr/share/tomcat7/startup.sh文件,我试图让tomcat7启动进入debugging模式,并允许通过eclipse进行远程debugging。
JPDA_TRANSPORT="dt_socket" JPDA_ADDRESS="8000" exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
编辑startup.sh文件后,我使用以下命令重新启动tomcat7:
sudo service tomcat7 restart
然后尝试在eclipse中使用IP地址和端口8000连接到tomcat jpda。从Eclipse接收到“Connection Refused”错误。
我试图手动启动tomcat7使用startup.sh脚本而不是服务可执行的方法,因为我想也许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启动脚本,因为我使用服务来启动/重新启动tomcat7无济于事…
我究竟做错了什么?
在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
。
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 – >首选项 – >常规 – >网络连接 – >活动提供商应该是直接。 改变后直接重启eclipse。
4)在Eclipse中右键单击项目并调试为 – >调试配置 – >远程Java应用程序 – >创建新的配置。
填写下面的字段
姓名:如你所愿
项目:选择您需要调试的项目。
ConnectionType:标准套接字附加
主机:本地主机端口:8000(应该和第2点中提到的一样)
然后点击调试。
调试将从端口8000开始。现在,您可以通过保持断点进行验证。