【发布时间】:2011-12-02 09:16:54
【问题描述】:
我有一个部署在 tomcat 中的应用程序。后来我将代码配置为 Eclipse 中的项目。我想通过eclipse连接到tomcat并调试应用程序。 尝试设置远程调试连接会引发错误。我需要在tomcat的某个地方添加任何条目吗?
【问题讨论】:
标签: java eclipse debugging tomcat
我有一个部署在 tomcat 中的应用程序。后来我将代码配置为 Eclipse 中的项目。我想通过eclipse连接到tomcat并调试应用程序。 尝试设置远程调试连接会引发错误。我需要在tomcat的某个地方添加任何条目吗?
【问题讨论】:
标签: java eclipse debugging tomcat
首先,您需要在调试模式下运行 Tomcat。最简单的方法是修改启动文件(.bat 或 .sh,取决于您是否是 Windows)。找到包含start 命令的文件附近或末尾的行,并将其更改为jpda start。这将导致 Tomcat 以调试模式启动,侦听端口 8000。
接下来,要通过 Eclipse 连接到此进程,请选择 Run 菜单并选择 Debug Configurations...。在左侧窗格中,选择Remote Java Application 并单击列表上方的New launch configuration 按钮。需要注意的重要设置是 Host 和 Port 字段。主机值必须与 Tomcat 进程的主机名匹配,端口应为8000。您可能还需要在Source 选项卡上添加条目,以确保所有源代码都可用于单步执行。
【讨论】:
将war导出到tomcat服务器
战争文件可用here。
【讨论】:
是的,您需要配置 tomcat 以接受远程调试连接。有一个关于如何使用各种 IDE 执行此操作的常见问题解答。
【讨论】:
只需更改 startup.bat 中的行(如果您使用的是 Windows)
来自:
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
到:
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
【讨论】:
使用eclipse设置tomcat调试器的步骤
安装以下东西:
java 1.8+
eclipse EE 版本
下载tomcat 8+
打开eclipse并转到
servers选项卡并添加一个新服务器(窗口->显示视图->其他->搜索服务器)将您的项目标记为动态网络项目(右键单击项目-> 项目方面-> 选择动态网络模块)
导出战争(文件->导出->搜索战争->选择模块并选择路径)
运行方式 -> 在服务器上运行
以调试或运行模式启动 tomcat 服务器
查看
localhost:8080
【讨论】:
调试对我有用。我使用的是在centos 7上配置的tomcat 8。更改2个设置后为我打开了调试端口。
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
重启tomcat。 在 Eclipse 中转到 运行>调试配置>远程 java 应用程序>添加主机 ip 和端口(8000) 运行 tomcat 的位置。 就我而言,我也需要通过防火墙打开 8000。
firewall-cmd --zone=public --permanent --add-port=8000/tcp
firewall-cmd --reload
【讨论】:
除了远程调试之外,如果你在 eclipse 中添加了 tomcat,你可以在 eclipse 中本地调试你的应用程序。 只需启动服务器并右键单击您的应用程序,然后从调试菜单中点击服务器上的调试。 如果您有多模块 maven 项目,请在服务器上调试刚刚显示的带有战争包装的模块。 如果您想调试一个在启动时自行运行的类,例如使用 @PostConstruct 注释的方法,请记住您应该增加服务器超时。 为此,请转到服务器视图并双击 tomcat 并在服务器预览选项卡中增加超时值。
【讨论】: