如何在jboss上调试GWT客户端代码

如何在jboss上调试GWT客户端代码,gwt,jboss,smartgwt,Gwt,Jboss,Smartgwt,我从GWT和smartgwt开始,我意识到当您的代码在jetty上运行时,就不一定能在Jboss上运行 当客户端出现故障时,有没有一种方法可以调试异常或任何类型的错误,jboss控制台什么也没说。我想知道当应用程序在jboss上运行时,是否可以将jetty窗口连接到该应用程序 我正在使用Netbeans,JBoss5.1 更新: 感谢您的帮助,我一直在使用com.google.gwt.logging.logging,它工作得非常好,但我正在寻找一种调试客户端代码的方法,例如使用netbeans。

我从GWT和smartgwt开始,我意识到当您的代码在jetty上运行时,就不一定能在Jboss上运行

当客户端出现故障时,有没有一种方法可以调试异常或任何类型的错误,jboss控制台什么也没说。我想知道当应用程序在jboss上运行时,是否可以将jetty窗口连接到该应用程序

我正在使用Netbeans,JBoss5.1

更新:

感谢您的帮助,我一直在使用
com.google.gwt.logging.logging
,它工作得非常好,但我正在寻找一种调试客户端代码的方法,例如使用netbeans。我知道如何调试启动jboss的服务器端代码,设置JAVA_OPTS=-Xdebug-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y%JAVA_OPTS%然后我将netbeans调试器连接到8787端口。从Jboss到调试客户端有没有类似的方法


我还知道如何使用gwt:debug调试客户端代码,但在这种情况下,我的应用程序没有在jboss上运行,而是在jetty上运行。

我假设您已经正确设置了启动配置(将启动环境指向jboss而不是嵌入式jetty)。如果您处于开发模式,您应该已经能够调试Java代码了。如果要在生产环境中调试客户端代码,请使用浏览器的开发工具

关于错误处理 有两种方法可以处理GWT客户端异常

  • 将它们记录在客户端
  • 将它们发送到服务器并在服务器端记录
  • 我认为您正在关注服务器端日志记录(事实上,这是我们在生产模式中需要的),GWT为客户端和服务器端都提供了定义良好的错误处理机制。这些答案/帖子将帮助您在GWT应用程序中正确设置错误处理程序


    我知道这是一个老问题,但由于上一个答案没有标记为已接受,我的做法如下:

  • 您可以使用,这是一个很好的Eclipse插件,允许您在Eclipse中调试客户端代码。观看该页上的介绍性教程,开始学习。我使用Glassfish,而不是嵌入式Jetty,我知道它也适用于JBoss
  • 如果您使用Eclipse和Maven,我将提供一个更完整的列表,列出您可以在服务器端和客户端代码中调试SmartGWT的方法
    JBoss EAP7和GWT2.7放弃了DevMode,转而支持SuperDevMode,事情变得更复杂了。相关文章()提供了很好的线索,但没有一篇能直接用于我的服务器和版本组合:JBossEAP7.0、GWT2.7、GWT2.7 Eclipse插件、Eclipse4.5+和Maven构建。关键的变化是如何使用GWT代码将WAR部署到JBoss EAP 7

    我建议你读这本书

  • 让我们假设您有一个使用Maven构建的现有GWT Eclipse项目,并且您能够部署和执行该项目。除了像myProject/target/myWebInterface-1.0.WAR这样的打包WAR归档版本之外,构建还应在myProject/target/myWebInterface-1.0.WAR中生成一个分解的WAR版本。您可能需要检查GWT maven插件是否在myWebInterface-1.0/下的GWT模块子目录中构建了myModule.devmode.js和myModule.nocache.js

  • 忘记打包的.war,通过JBoss控制台将分解版本部署到JBoss服务器:部署>添加>创建非托管部署>下一步。按如下方式填充:

    请确保终止“.war”中的名称字段,尽管您不是从打包的归档文件而是从目录路径进行部署。这使JBoss能够理解要应用的部署配置文件,即WAR。您确实可以检查部署是否正常,界面是否正在运行

  • 在Eclipse中,打开项目的项目属性,在左树中导航到Google>Web应用程序选项卡,并确保选中“This Project has a WAR directory”。同时导航到Google>WebToolkit选项卡,确保选中“使用GWT”

  • 在Eclipse中右键单击您的项目并以>的形式运行。GWT代码服务器已经启动,并且可能会由于缺少库依赖项而失败(或者至少在通知它准备就绪之前生成错误)。但是,已经创建了一个易于修复的启动配置。因此,请通过Eclipse控制台红色停止按钮停止当前的启动

  • 我们需要编辑刚刚创建的默认启动配置,并向CodeServer提供所有库依赖项,如下所示:

    • 在Eclipse顶部菜单中:运行>运行配置…>选择刚刚创建的Google Web应用程序
    • 在“服务器”选项卡下,选中“运行内置服务器”(端口8888),然后单击“应用”
    • 在“Arguments”选项卡下,您必须看到一个“-noserver”选项
    • 如果需要匹配EclipseIDE的JDK,请在JRE选项卡下修复JRE
    • 在“类路径”选项卡的“用户条目”下,必须添加原始WAR构建中的所有库依赖项。最好的方法是使用从Maven.m2本地存储库获取的所有依赖项创建Eclipse用户库。在我的例子中,我添加了所有支持后端REST服务器的Spring框架库,该服务器与GWT前端部署在同一WAR归档中
    • 单击“应用”,然后“运行”此更新的配置
    • Eclipse控制台通常显示“代码服务器已准备就绪”。检查此跟踪之前没有错误
  • 在新的Chrome窗口中打开上面的链接;你会看到

    并将书签添加到您的Chrome收藏夹书签中,如该页面所示

  • 在已部署(分解/非托管)web项目主页上打开新的Chrome浏览器选项卡

  • 单击“开发模式开启”书签。弹出一个框架,建议“编译”您的GWT模块。单击它,框架显示“Compilein”