14

我正在尝试在 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 收到“连接被拒绝”错误。

我试图使用 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 处的启动脚本,因为我正在使用服务启动/重新启动 tomcat7 无济于事...

我究竟做错了什么?

4

2 回答 2

37

在 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

于 2013-10-25T00:28:07.057 回答
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--> 首选项--> 常规--> 网络连接--> 活动提供者应该是直接的。改完后直接重启eclipse。

4)在eclipse中右键单击项目并调试为->调试配置->远程java应用程序->创建新配置。

填写以下字段

名称:如你所愿

项目:选择您需要调试的项目。

ConnectionType:标准插座连接

主机:本地主机端口:8000(应该和第2点一样)

然后点击调试。

调试将从端口 8000 开始。现在您可以通过保留断点来进行验证。

于 2017-11-15T13:09:06.957 回答