【问题标题】:How to debug WAR application inside eclipse?如何在 Eclipse 中调试 WAR 应用程序?
【发布时间】:2020-12-03 00:52:39
【问题描述】:

我看过很多在线教程,解释如何使用eclipse远程调试WAR文件。

但我想知道的是如何在 Eclipse 中进行调试,就像调试 JAVA 应用程序一样?我在 Eclipse 中将 Tomcat 7 配置为服务器。我已经用一个示例 servlet 程序成功地对其进行了测试,这意味着我可以在源代码中设置断点并运行它。

我的 WAR 应用程序是由 gradle 构建的。我已将 gradle 项目导入到我的 eclipse 中,并通过在“gradle tasks view”中运行 gradle task 在 eclipse 中构建它。我将项目添加到服务器中。但是,当我尝试使用“Debug as > Debug on Server”时,它会失败并且断点不会被命中。任何人都可以分享在eclipse中调试WAR的经验吗?

【问题讨论】:

  • 同样的问题已经存在,您可以参考this
  • 您提供的链接是关于远程调试的,不是吗?在我的问题中,我明确表示我想知道有没有一种方法可以调试 WAR 而不是“远程”方式....
  • 如果您不同意关闭...只需在评论中使用@userid 联系关闭的人。我认为另一个答案还包括对“本地”使用的建议。

标签: java eclipse


【解决方案1】:

我是 IntelliJ Idea 用户,但我在这里有一个通用的建议。您可以做的是,您可以使用 debug port on 运行您的应用程序(war/jar 等),然后从 eclipse 中使用 remote debug(或附加到某种进程选项)。

确保您拥有创建 war/jar 的代码的准确副本,否则在调试时行可能不匹配并且难以理解。 p>

【讨论】:

    【解决方案2】:

    在“服务器”视图中,选择正确的 tomcat 服务器概览,然后转到“模块”选项卡。

    在那里,您可以通过单击“添加外部 Web 模块...”来添加战争。

    在“文档库”中设置战争路径,在“路径”字段中设置您想要的任何内容。

    例子:

    文档库:“C:\eclipse-workspace\MyProject\war\myWarToDebug.war”

    路径:“/myapp”

    以调试模式启动服务器。使用 url 访问您的应用 <yourServerHost>:<serverPort>/<pathSetInModuleTab>.

    请注意,当到达断点时,Eclipse 可能会说没有找到源。只需继续进行服务器调试配置并在“源”选项卡中添加项目源。

    【讨论】:

    • 在服务器视图中右键单击服务器,我没有看到名为“概述”的菜单项?
    • @MaxLi 在“服务器”视图中双击服务器
    • 我找到了。我在其中添加了 WAR 的路径。但是,我的 WAR 是一个 Spring 应用程序。我在调试模式下启动了 Tomcat,从控制台我看不到正常的 Spring 启动屏幕。即使在我输入localhost:8080/XXXXX 之后,我也看不到控制台中发生任何事情。所以我猜Tomcat根本没有启动我的WAR?
    【解决方案3】:

    调试前必须使用jd gui反编译war文件中打开的类文件并保存为java项目。

    【讨论】:

    • 如果他有gradle项目,你不觉得他已经有源码了吗?
    • hmm....你能详细说明这种方法的细节吗?反编译是什么意思?jd gui是什么?我曾经尝试使用 jar 命令解压缩 WAR,并且能够看到所有这些类文件。以及如何将war文件中的类文件保存为java项目?
    • 您的回答基于假设。询问 OP 是否将他们的设置配置为提供可用的源代码将是一个“好的”评论。但绝对不值得为这样的建议写一个“答案”。
    • @MaxLi 当您想要调试应用程序时,调试器(在您的情况下为:eclipse)需要访问源代码。但这里给出的建议是荒谬的。您应该为您正在使用的组件获取官方源代码包。当你使用像 gradle 这样的构建系统时,你几乎已经免费获得了。使用 jd 之类的工具将类文件转换回源代码来解决这个问题的想法简直荒谬。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 2010-12-31
    • 2012-08-17
    相关资源
    最近更新 更多