本地部署到Intellij Tomcat的GWT应用程序在支持gwt的客户端模块中看不到断点

问题描述 投票:0回答:1

关于应用程序的一些事实:

  • 它包含几个模块,其中一个是GWT客户端模块
  • 春季3
  • GWT 2.6.1(+兼容GXT)
  • 打包为.war,可以部署到独立的Tomcat
  • Chrome附加组件不再起作用,因此直到最近,我不得不依靠Eclipse +嵌入式Jetty + Firefox 24才能在DevMode中启动应用程序并对其进行调试

前几天,我决定尝试在IntelliJ IDEA中启动它,并查看调试是否可以在那里进行。

通过IntelliJ中的local Tomcat配置部署应用程序后的观察结果:

  • 该应用程序部署得很好(可以使用warexploded war工件进行部署)。基本上,Intellij从独立的Tomcat安装中获取work目录,并将其移至其安装文件夹(例如.IntelliJIdea2019.1/system/Tomcat/Unnamed_MYAPP)。配置文件也将复制到config目录。
  • Tomcat的webapps目录位于原始Tomcat安装中,并且该应用程序已部署在该目录中

起初,我认为根本无法识别断点。但是,事实证明,我仅在GWT客户端模块内进行测试;当我稍后尝试其他模块时-执行按预期停止。

现在,有趣的是,当我使用Jetty开发和调试时,如果我对GWT客户端模块进行了更改,我可以简单地重新加载页面,它就会出现。

对于Intellij和Tomcat,情况恰恰相反。断点不像所提到的那样起作用,但也可以刷新,例如。通过Update classes(而不是完全重新部署)不起作用,而对于其他模块则起作用。

是否有办法以某种方式调整我的工件,以便可以调试GWT模块?

我的exploded war工件看起来像这样:

  • META-INF
    • MANIFEST.MF
  • WEB-INF
    • 班级
      • GWT模块编译输出
    • lib
    • web.xml
  • webapp目录内容
  • GWT客户端模块GWT编译器输出
debugging tomcat intellij-idea gwt
1个回答
0
投票

实际上,这是一个愚蠢的情况-我期望执行能够在知道gwt的模块的Java代码中设置的断点处停止,但是因为它已经被转换为Javascript了,所以这是不可能的。

断点在这种模块中停止的唯一方法是使用DevMode。

© www.soinside.com 2019 - 2024. All rights reserved.