【发布时间】:2019-07-15 14:44:14
【问题描述】:
关于应用程序的一些事实:
- 它由几个模块组成,其中一个是 GWT 客户端模块
- 春天 3
- GWT 2.6.1(+ 兼容的 GXT)
- 打包为 .war,可以部署到独立的 Tomcat
- Chrome 插件不再工作,所以直到最近我不得不依赖 Eclipse + 嵌入式 Jetty + Firefox 24 才能在 DevMode 下启动应用程序并对其进行调试
前几天我决定尝试在 IntelliJ IDEA 中启动它,看看调试是否可以在那里工作。
通过 IntelliJ 中的 local Tomcat 配置部署应用后的观察结果:
- 应用部署得很好(使用
war或exploded warartifact)。基本上,Intellij 从独立的 Tomcat 安装中获取work目录并将其移动到其安装文件夹(例如.IntelliJIdea2019.1/system/Tomcat/Unnamed_MYAPP)。配置文件也被复制到config目录。 - Tomcat 的
webapps目录保留在原始 Tomcat 安装中,并且应用程序部署在那里
起初我以为断点根本无法识别。然而,事实证明我只是在 GWT 客户端模块内测试中断;当我后来尝试其他一些模块时 - 执行按预期停止。
现在,有趣的是,当我使用 Jetty 进行开发和调试时,如果我对 GWT 客户端模块进行了更改,我可以简单地重新加载页面,它就会出现。
对于 Intellij 和 Tomcat,情况正好相反。断点不像提到的那样工作,但也令人耳目一新,例如。通过Update classes(而不是完全重新部署)不起作用,而对于其他模块却可以。
有没有办法以某种方式调整我的工件,以便也可以调试 GWT 模块?
我的exploded war 工件如下所示:
- 元信息
- 清单.MF
- WEB-INF
- 类
- GWT 模块编译输出
- 库
- web.xml
- 类
- webapp 目录内容
- GWT 客户端模块 GWT 编译器输出
【问题讨论】:
标签: debugging tomcat intellij-idea gwt