我从GWT和smartgwt开始,我意识到当你的代码在jetty上运行时,不一定能在Jboss上运行。
当客户端的某些东西出现故障时,有没有办法可以调试异常或任何类型的错误,jboss控制台什么也没说。我想知道当它在jboss上运行时是否可以将跳线窗口连接到应用程序。
我正在使用Netbeans,jboss 5.1
更新
感谢您的帮助,我一直在使用com.google.gwt.logging.Logging
并且它工作得非常好,但我正在寻找一种方法来调试客户端代码,例如使用netbeans。我知道如何使用set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%
调试服务器端代码启动jboss然后我将netbeans调试器连接到8787端口。有没有办法从Jboss做类似的事情来调试客户端?
此外,我知道如何使用gwt:debug调试客户端代码,但在这种情况下,我的应用程序未运行在jboss上运行在jetty上。
答案 0 :(得分:1)
我假设您已经正确设置了启动配置(将启动环境指向JBoss而不是嵌入式Jetty)。如果您处于开发模式,您应该已经能够调试javacode。如果要在生产中调试客户端代码,请使用浏览器的开发工具。
关于错误处理 有两种方法可以处理GWT客户端异常。
我认为你是在服务器端日志记录之后(实际上这就是我们在生产模式中所需要的)GWT为客户端和服务器端都有一个定义良好的错误处理机制。这些答案/帖子将帮助您正确设置GWT应用程序中的错误处理程序。
答案 1 :(得分:0)
我知道这是一个老问题,但由于之前的答案没有被标记为已被接受,所以这就是我的方式:
答案 2 :(得分:0)
随着JBoss EAP7和GWT 2.7放弃DevMode而转向SuperDevMode,事情变得更加复杂。相关文章(Super Dev mode in GWT)提供了很好的线索,但没有一个直接用于我的服务器和版本的组合:JBoss EAP 7.0,GWT 2.7,Eclipse的GWT 2.7插件,Eclipse 4.5+和Maven Builds。关键变化是如何使用GWT代码将WAR部署到JBoss EAP 7。
我建议你阅读introduction to GWT Super Dev Mode
假设您有一个使用Maven构建的现有GWT Eclipse项目,并且您可以部署和执行。除了像myProject / target / myWebInterface-1.0.war这样的压缩WAR存档版本之外,Build还会在myProject / target / myWebInterface-1.0 /中生成一个爆炸的WAR版本。您可能想要检查GWT maven插件是否在myWebInterface-1.0 /./ / p>
忘记打包的.war并通过JBoss控制台将爆炸版本部署到JBoss服务器:部署>添加>创建非托管部署>下一个。填写如下:
请务必在" .war"中终止名称字段。虽然您没有从打包存档部署,但是从目录路径部署。这使JBoss能够理解要应用的部署配置文件,即WAR的部署配置文件。您可能确实检查了部署是否正常以及您的界面是否正在运行。
在Eclipse中,打开项目的Project属性,在左侧树中导航到Google> “Web应用程序”选项卡并确保“此项目具有WAR目录”。检查。还可以导航到Google> Web Toolkit选项卡并确保使用GWT'已经过检查。
在Eclipse中右键单击您的项目并运行为> 。由于缺少库依赖性,GWT代码服务器已经启动并且可能会失败(或者至少在告知它准备好之前生成错误)。但是,已经创建了一个易于修复的启动配置。因此,请从Eclipse控制台红色STOP按钮终止当前启动。
我们需要编辑刚刚创建的默认启动配置,并将所有库依赖项提供给CodeServer,如下所示:
在新的Chrome窗口中打开上面的链接;你会看到
并在该页面上显示的Chrome收藏的书签中添加书签
在已部署(爆炸/非托管)的Web项目主页上打开新的Chrome浏览器标签
点击'开发模式开启'书签。弹出一个框架,建议编译'你的GWT模块。单击它,框架显示' Compiling yourModuleName'。您还可以在Eclipse控制台中遵循GWT代码服务器活动,并确保在重新编译GWT Java代码时提供了所有必需的库依赖项。
如果您收到“编译myModule失败”的情况。刷新浏览器窗口可以解决问题,而建议的再次尝试'不会起作用......
从那时起,您可以在Eclipse中更改GWT java源,然后刷新浏览器窗口以立即查看所做更改的效果。
调试GWT代码
如何运作,非常简短: