如何在不使用Eclipse的情况下调试gwt应用程序

时间:2015-04-27 15:39:06

标签: java eclipse debugging gwt jboss

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

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

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

2 个答案:

答案 0 :(得分:0)

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

您需要使用DevMode或SuperDevMode。 DevMode的优势在于,您可以像在任何其他Java应用程序中一样直接在IDE中进行调试。缺点是你需要一个旧的浏览器(Firefox< = 24我认为)。 SuperDevMode使用源映射并在浏览器中调试应用程序,但您需要在IDE中进行更改,因此在我看来它不太舒服。建议使用SuperDevMode,因为不再支持DevMode。

答案 1 :(得分:0)

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

调试器是您浏览器的调试器,我推荐使用chrome调试器,因为它的源代码支持非常好。

你的工作方式是:

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

现在使用内置浏览器调试器来调试代码,设置断点并检查变量。它需要习惯它,但它非常好。

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

在此处查看说明http://www.gwtproject.org/articles/superdevmode.html