gpt4 book ai didi

java - 启动tomcat7 :run maven plugin within eclipse and debug

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:14 24 4
gpt4 key购买 nike

我想在eclipse 中调试一个webapp。我到了 tomcat 和 webapp 在 Debug模式下在 eclipse 中运行的地步,但是 webapp 代码中的断点没有效果。

详情
webapp 是一个 maven Artifact ,我在 eclipse 中使用 m2e 插件来桥接 maven 和 eclipse。

我已经设法从 eclipse 中启动 tomcat 服务器。 webapp 在 tomcat 中很好地启动,如果我选择的话,也可以在 Debug模式下启动:

  • 在 Eclipse 中,右键单击项目
  • 运行方式 > Maven 构建...(不是“Maven 构建”)
  • 一个窗口打开。在“目标”文本字段中,输入“tomcat7:run”
  • 点击应用
  • 点击运行

tomcat 服务器开始运行,它的 stdlog 被打印到 eclipse 中的一个窗口。我也可以方便地停止它并在 Debug模式下再次启动它。到目前为止,这就是我想要的和我期望的。

问题
我在我的 webapp 的代码中设置了一个断点,并从 eclipse 中以 Debug模式重新启动 tomcat。现在,断点不活动:它没有 Activity 断点所具有的那个小勾号,我知道代码已执行,但它不会在断点处停止。

最佳答案

有两种方法可以解决此问题,您将需要其中一种或两种方法。打开你的运行配置,然后

问题+解决方案1( fork )
如果 tomcat 在另一个 VM 中进行 fork ,则需要添加参数 forkMode,其值为 never。这允许 eclipse “透视”到 tomcat 的 VM 并在那里设置断点。

问题+解决方案2(来源)
在某些具有 maven 父子 Artifact 的设置中,eclipse 可能不知道某些子项目的源属于您的 webapp。其症状是在断点处停止执行,但eclipse不会自动跳转到源码位置,而是告诉你源码不明。
要解决这个问题,您需要将子项目的源代码添加到您的运行配置中:在您的运行配置中,转到 Source > Add... > Java Project 并选择所有包含您可能想要调试的源代码的相关项目。

关于java - 启动tomcat7 :run maven plugin within eclipse and debug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com