关于应用程序的一些事实:
前几天,我决定尝试在IntelliJ IDEA中启动它,并查看调试是否可以在那里进行。
通过IntelliJ中的local Tomcat
配置部署应用程序后的观察结果:
war
或exploded war
工件进行部署)。基本上,Intellij从独立的Tomcat安装中获取work
目录,并将其移至其安装文件夹(例如.IntelliJIdea2019.1/system/Tomcat/Unnamed_MYAPP
)。配置文件也将复制到config
目录。webapps
目录位于原始Tomcat安装中,并且该应用程序已部署在该目录中起初,我认为根本无法识别断点。但是,事实证明,我仅在GWT客户端模块内进行测试;当我稍后尝试其他模块时-执行按预期停止。
现在,有趣的是,当我使用Jetty开发和调试时,如果我对GWT客户端模块进行了更改,我可以简单地重新加载页面,它就会出现。
对于Intellij和Tomcat,情况恰恰相反。断点不像所提到的那样起作用,但也可以刷新,例如。通过Update classes
(而不是完全重新部署)不起作用,而对于其他模块则起作用。
是否有办法以某种方式调整我的工件,以便可以调试GWT模块?
我的exploded war
工件看起来像这样:
实际上,这是一个愚蠢的情况-我期望执行能够在知道gwt的模块的Java代码中设置的断点处停止,但是因为它已经被转换为Javascript了,所以这是不可能的。
断点在这种模块中停止的唯一方法是使用DevMode。