【问题标题】:How to debug gwt application without using Eclipse如何在不使用 Eclipse 的情况下调试 gwt 应用程序
【发布时间】:2015-07-06 03:58:32
【问题描述】:

我有一个项目,它由部署在 jboss 上的多个战争组成。这些战争是通过从 eclipse 运行 build.xml 然后复制到 jboss 上的部署文件夹来生成的。所有这些项目都是 Java 项目,因此我无法通过在 Eclipse 上添加服务器来调试它们。如下所示。

Eclipse -> 多个 Java 项目(Java + GWT)-> 生成 WAR(运行 build.xml)-> 复制到 jboss/../..deploy -> start.bat

如何调试这段代码并知道调用了哪个java类/函数。

【问题讨论】:

    标签: java eclipse debugging gwt jboss


    【解决方案1】:

    由于 GWT 将客户端代码转换为 JavaScript,因此您无法像普通 Java Web 应用程序一样通过调试端口对其进行调试。

    您需要使用 DevMode 或 SuperDevMode。 DevMode 的优点是让您可以像任何其他 Java 应用程序一样直接在 IDE 中进行调试。缺点是你需要一个旧的浏览器(我认为 Firefox

    【讨论】:

    • 但 SuperDevMode 适用于 Eclipse。就我而言,eclipse 无法将运行时与代码链接,因为它仅用于编辑和构建代码。 Eclipse 不知道战争和部署。
    • DevMode 已链接到您的 IDE,而 SuperDevMode 则没有。看这里stackoverflow.com/questions/25566279/… 您需要将该应用程序部署为 SuperDevMode 应用程序并将其链接到某处的代码以查看源映射。从那你在你的浏览器中调试而不是在 Eclipse 中。
    【解决方案2】:

    有一个优秀的 maven gwt 插件可以使用 GWT 的超级开发模式 (SDM),但您也应该能够从 ant 启动 SDM。

    调试器就是你浏览器的调试器,我推荐 chrome 调试器,因为它的 sourcemap 支持非常好。

    你的工作方式是:

    • 按照描述构建应用程序,在 gwt.xml 中启用 SDM 进行编译。通常,只需要使用 xsi-frame 链接器即可。
    • 部署您的应用程序。
    • 在用于构建代码的源上运行 superdevmode 代码服务器。
    • 启动您的应用程序,导航到 codeserver 并将dev mode on 链接拖到您的浏览器工具栏。
    • 导航到您的应用程序并单击链接上的开发模式。代码服务器现在将接管并让您编译代码。

    现在使用内置浏览器调试器来调试您的代码、设置断点和检查变量。需要稍微适应一下,但是效果很好。

    根据需要更改代码,然后让 SDM 再次编译您的应用程序。无需重新打包。 SDM 客户端会将新编译直接注入浏览器。如果我没有忘记什么,您将能够在不使用 eclipse 的情况下使用 java source-stepping 调试您的应用程序。

    在此处查看描述http://www.gwtproject.org/articles/superdevmode.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 2015-06-05
      • 2010-09-27
      • 1970-01-01
      • 2012-09-18
      相关资源
      最近更新 更多