【发布时间】:2015-05-24 06:23:40
【问题描述】:
我想在 eclipse 中调试一个 webapp。我到了tomcat和webapp在调试模式下在eclipse内部运行的地步,但是webapp代码中的断点没有效果。
详情
webapp 是一个 maven 工件,我使用 eclipse 中的 m2e 插件在 maven 和 eclipse 之间架起桥梁。
我已经设法从 Eclipse 中启动了 tomcat 服务器。 webapp 可以很好地在 tomcat 中启动,如果我选择的话,也可以在调试模式下启动:
- 在eclipse中,右键项目
- 运行方式 > Maven 构建...(不是“Maven 构建”)
- 打开一个窗口。在“目标”文本字段中,输入“tomcat7:run”
- 点击应用
- 点击运行
tomcat 服务器开始运行,它的stdlog 打印到eclipse 中的一个窗口。我也可以方便地停止它并在调试模式下重新启动它。到目前为止,这就是我想要的,也是我期望的。
问题
我在我的 webapp 的代码中设置了一个断点,并在 eclipse 中以调试模式重新启动 tomcat。现在,断点不活动:它没有活动断点所具有的小刻度线,我知道代码已执行,但它不会在断点处停止。
【问题讨论】:
-
我知道我可以在 maven 中设置远程调试,然后在 maven 中运行 tomcat7 并使用 eclipse 远程调试连接到它。但是后来我必须分别管理启动和停止两件事,并且我不会在 eclipse 准备点击异常中看到 tomcat 的日志输出。我需要这两个优点。如果这一切都以另一种方式起作用,我也很好。
-
你为什么不在 Eclipse 中使用 Tomcat 服务器实例,而不是依赖 Maven 插件?
-
@watery 我可以,如果我的其他方法行不通,我会的。主要原因是 maven 插件有一个配置,如果那里有什么变化,我会在通过 maven 插件启动 tomcat 时自动反映该变化。如果我在 eclipse 中配置了一个 tomcat 服务器,那么从 maven 进行的配置更改将不会对我的 eclipse 产生影响。因此,如果我这样做,与我的队友运行它的方式相比,我可能会以另一种方式运行 tomcat,因此我们可能会在某些时候遇到不同的问题,从而导致难以遵循彼此的问题描述。
-
@Calon 这看起来很有希望。今天晚些时候我会试试的。
标签: java eclipse maven debugging tomcat