在ubuntu-server中为Tomcat7设置JPDA

时间:2013-10-25 00:01:00

标签: java eclipse tomcat ubuntu tomcat7

我正在尝试在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而无济于事......

我做错了什么?

2 个答案:

答案 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开始。现在您可以通过保留断点进行验证。