如何调试在JBoss GWT客户端代码(How to debug GWT client side c

2019-09-03 06:23发布

我开始使用GWT和SmartGWT的,我意识到,当你的代码工作的码头将在JBoss上没有一定的工作。

有没有在客户端上的一些失败,我可以调试异常或任何类型的错误的方式,JBoss的控制台什么都不说。 我在想,如果我能得到当它运行在JBoss上连接到应用码头窗口。

我使用NetBeans时,JBoss 5.1

更新:

感谢您的帮助,我一直在使用com.google.gwt.logging.Logging和它的作品相当不错,但我一直在寻找一种方法来调试客户端代码,例如使用NetBeans的。 我知道如何调试服务器端代码开始与JBoss的set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%然后附上NetBeans调试到8787端口。 有没有办法做到从Jboss的类似调试客户端的东西吗?

我也知道如何使用GWT调试客户端代码:调试,但在这种情况下,我的应用程序并不运行在JBoss上的码头上运行。

Answer 1:

我假设你已经设置正确(指向启动环境到JBoss,而不是嵌入式码头)的启动配置。 如果你是在开发模式下,您应该已经能够调试javacode。 如果你想调试在生产中使用浏览器的开发工具的客户端代码。

关于错误处理有它可以处理GWT客户端例外两种方式。

  1. 登录他们在客户端
  2. 它们发送到服务器,并在服务器端登录他们

我认为你是服务器端的日志记录(其实这正是我们所需要的生产模式)后,GWT具有为客户端和服务器端的一个定义良好的错误处理机制。 这些答案/职位将帮助你哟设置的错误处理您的GWT应用程序正确。

7个秘诀在GWT异常处理

设置一个remoteLoggingServlet在GWT



Answer 2:

我知道这是一个老问题,但由于以前的答案没有标记为接受,这里是我做到这一点:

  1. 您可以使用SDBG ,这是一个很好的Eclipse插件,使您可以在Eclipse中调试客户端代码。 观看页面上的入门教程,让你开始。 我用Glassfish的,而不是嵌入码头,而且我知道它与JBoss的作品,以及。
  2. 如果你使用Eclipse和Maven的,我提供了这里的事情你可以做调试SmartGWT的在服务器和客户端代码的完整列表。


Answer 3:

和JBoss EAP7和GWT 2.7,在有利于SuperDevMode的下降DevMode的,事情变得有点复杂。 相关文章( 超级开发模式在GWT )提供了很好的线索,但没有直接的工作对我的服务器和版本的组合:JBoss的EAP 7.0,GWT 2.7,GWT 2.7的Eclipse插件,Eclipse的4.5+,和Maven构建。 关键的变化是如何部署与GWT代码的WAR到JBoss EAP 7。

我建议你阅读了介绍GWT开发超级模式

  1. 让我们假设你有一个与Maven和你能够部署和执行建立一个现有的GWT Eclipse项目。 构建应产生的分解WAR版到您的myProject的/目标/ myWebInterface-1.0 /除打包WAR归档版本一样myProject的/目标/ myWebInterface-1.0.war。 您可能要检查GWT的Maven插件特别是建立myModule.devmode.js,并myModule.nocache.js在GWT模块子目录下myWebInterface-1.0 /。

  2. 忘记了包装的.war和DO通过JBoss控制台部署展开的版本到您的JBoss服务器:部署>添加>创建一个非托管部署>下一步。 填补了象下面这样:

    一定要终止名称字段“的.war”虽然你不是从打包存档但是从目录路径部署。 这使JBoss的了解部署配置文件提出申请,这场战争的。 你可能确实检查部署,通过确定和你的界面运行去了。

  3. 在Eclipse中,项目的开放项目属性,定位在左树到谷歌> Web应用程序选项卡,并确保“这个项目有一个WAR目录”被选中。 此外导航到谷歌> Web工具包标签,并确保“使用GWT”被选中。

  4. 右键单击Eclipse和运行您的项目> 。 在GWT代码服务器已经启动,很可能会失败(或者至少产生,告诉它已经准备好之前的错误),因为缺少库的依赖关系。 然而启动配置已经建立,这将是很容易修复。 所以不要杀从Eclipse控制台红色停止按钮目前推出。

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

    • 在Eclipse顶部菜单:运行>运行配置...>选择谷歌的Web应用程序刚刚创建
    • 服务器选项卡下,勾选“运行内置的服务器”(在端口8888),然后点击“应用”
    • 在“参数”选项卡下,你必须看到一个“-noserver”选项
    • 如果需要的话,以配合您的Eclipse IDE的JDK修复JRE的JRE选项卡下
    • 在“类路径”选项卡下,在“用户条目”,您必须从原来的WAR构建添加所有的库的依赖。 最好是与所有那些从你的Maven本地的.m2提取库创建依赖Eclipse的用户库。 就我而言,我已经加入了支持部署在同一个WAR归档旁边的GWT前端后端REST服务器的所有Spring框架库。
    • 点击“应用”,然后“运行”这一更新的配置
    • Eclipse控制台通常会显示“代码服务器在准备http://127.0.0.1:9876/ ”。 检查没有错误之前此跟踪。
  6. 在打开一个新的浏览器窗口,上面的链接; 你将看到

    和书签添加到您的Chrome喜爱的书签该网页上所示

  7. 打开部署(展开/非托管)网页项目主页上的一个新的Chrome浏览器分页

  8. 点击“开发模式在”书签。 帧会弹出建议“编制”你的GWT模块。 点击它和框架显示“编译yourModuleName”。 您也可以按照Eclipse控制台的GWT代码服务器活动,并确保你提供所有需要的库的依赖,而它重新编译GWT Java代码。

    如果你得到“编译Mymodule中失败”浏览器窗口的刷新可能会解决问题,而提出了“再试一次”将无法正常工作...

  9. 从这一点来说,你可以在Eclipse中更改GWT Java源代码,然后刷新浏览器窗口,以立即看到您所做的更改的影响。

调试GWT代码

  1. 您可以通过该而Java代码被编译和Java脚本在客户端浏览器执行设定在Java源代码断点进一步调试GWT代码! 这就是神奇! 步骤如下:
    • 而在Chrome中,启动开发工具:按Ctrl-Shift-I键或者点击设置图标>更多工具>开发人员工具
    • 确保启用了您拥有“的JavaScript源映射”:点击工具设置图标>设置> ...
    • 然后,您可以浏览到GWT的Java源代码在左侧导航树(树的底部),否则按Ctrl-P快速打开你知道(目前在Eclipse编辑EG)源文件,并设置在Chrome开发者工具断点中央面板; 调试器将执行,并在断点处停止,当您刷新网页,让你检查映射到原来的Java代码的JavaScript变量。 请注意,断点只从Chrome开发者工具集,而忘记了自己的Eclipse的断点。

它是如何工作的,很简单:

  • Eclipse构建一个JBoss感谢爆炸/非托管部署直接消费; 没有仿造而成,要求每变化一个明确的重新部署。
  • GWT代码服务器即是GWT的Eclipse插件的一部分检测源更改并重新编译Java脚本在客户端上飞
  • 客户端浏览器获得在任何时候都热重新编译的JavaScript代码服务器,而不是从一个部署(静态)WAR归档获取他们
  • 代码服务器默认情况下,Jetty Web服务器(在端口8888)开始部署服务器端代码,但是我们把其关闭,并用显式爆炸/非托管部署使用JBoss服务器来代替。


文章来源: How to debug GWT client side code on jboss