在Tomcat上运行时本地/远程调试GWT应用程序

时间:2013-05-19 13:28:47

标签: java eclipse debugging gwt tomcat

我找到的调试GWT的所有教程/链接/文章都涉及:

  • 使用Google-Eclipse插件;和
  • 从Eclipse内部以开发模式运行GWT(使用Eclipse作为Web容器)

我想知道如何在从非Eclipse Web容器运行时调试GWT应用程序;特别是一个完整的Tomcat实例,它运行在同一台机器(localhost:8080)或其他地方的远程机器上。

理想情况下,我可以通过浏览器正常访问我的应用程序,但是当我与应用程序交互(单击按钮等)时,Eclipse将在调试模式下运行,并且会遇到我提前设置的断点时间(部署前)。

令我惊讶的是,我找不到这方面的东西,当然也没有什么是明确的。所以我想知道是否有任何厌倦战斗的GWT老兵可以解释我是如何做到的。

如果可能的话,我希望来安装Google-Eclipse插件,除非这是 only 选项以实现此目的。提前谢谢!

2 个答案:

答案 0 :(得分:2)

我不确定你是否错过了documentation。我曾经在我的开发模式下进行远程调试,我的服务器在VM中运行。我可以建议你两个解决方案。

如果您使用的是GWT 2.5之前的版本,则必须在启动配置中提供noserver参数,为服务器中的主机页面提供URL(Tomcat等)。我已经从上面的文档中提取了步骤。

  1. 根据需要配置您的服务器;请注意包含GWT应用程序主机页面的URL。
  2. 根据需要在服务器上排列所有静态内容文件(例如主机HTML页面,图像,CSS等)。
  3. 编辑您的开发模式执行脚本(例如您的Eclipse运行配置或GWT webAppCreator生成的ant开发构建目标)并添加或更新以下选项: •添加-noserver命令行参数。 •更改参数列表末尾的URL以匹配您在步骤#1中记录的URL。
  4. 使用ant build目标编译应用程序一次。理想情况下,您可以使用GWT的-war选项直接将输出文件生成到外部服务器的静态内容文件夹中。否则,您需要将GWT输出文件夹从war /复制到外部服务器的静态内容。
  5. 如果您使用的是2.5或更高版本,则可以使用超级开发模式。在超级开发模式下,您可以使用浏览器进行调试,因此无需使用eclipse插件。我试过这个并且工作正常。但是我无法使用源映射加载java源代码。以下是superdevmode配置的documentation

答案 1 :(得分:-1)

这很简单,只需按照以下步骤操作:

获取eclipse的google插件

在日食中,右键单击您的项目并选择Debug as - > Web应用程序(在外部服务器上运行)

在tomcat上输入您的网络应用程序的URL(例如

http://localhost:8080/YourApp/YourApp.html

和eclipse会给你一个新的 - 它会添加像?gwt.codesvr = 127.0.0.1:9997这样的东西 就是这样。只需设置断点并进行调试!

另请查看this