GWT DevMode码头重启不';不尊重服务器代码更改

GWT DevMode码头重启不';不尊重服务器代码更改,gwt,sdk,gwt-dev-mode,Gwt,Sdk,Gwt Dev Mode,我刚刚下载了GWT2.5.1SDK。我跑: ./webAppCreator-out/home/myUser/tmp/dummygwt/com.dummygwt.ohahai 它为我创建了一个GWT项目。然后我导航到/home/myUser/tmp/dummygwt/,然后运行: ant-buildfile build.xml devmode 启动了GWT开发模式工具,我点击了Launch Default Browser,在Firefox中启动了我的“OhHai”应用程序 然后我导航到/home/

我刚刚下载了GWT2.5.1SDK。我跑:

./webAppCreator-out/home/myUser/tmp/dummygwt/com.dummygwt.ohahai

它为我创建了一个GWT项目。然后我导航到
/home/myUser/tmp/dummygwt/
,然后运行:

ant-buildfile build.xml devmode

启动了GWT开发模式工具,我点击了
Launch Default Browser
,在Firefox中启动了我的“OhHai”应用程序

然后我导航到
/home/myUser/tmp/dummygwt/src/com/dummygwt/server/greetingserviceinpl.java
,并打开它进行编辑。我将
GreetingServiceImpl#greetServer
方法上的返回值更改为以“Bonjourno”开头,而不是以“Hello”开头。这样,当您输入姓名并单击“发送”按钮时,弹出对话框将显示“Bonjourno,…”。(我只是在玩,玩得很开心。)

我将更改保存到
GreetingServiceImpl.java
,然后(在GWT开发模式工具中),导航到Jetty选项卡并单击
重新启动服务器
,得到以下警告:

00:14:25.446[警告]在web应用程序中找不到服务器类“com.google.gwt.dev.shell.jetty.jdbc卸载程序”,但在系统类路径中找到

00:14:25.446[警告]将类路径条目“file:/home/myUser/sandbox/dsi/workbench/gwt sdk/gwt-2.5.1/gwt-dev.jar”添加到此会话的web应用程序类路径 更多信息:文件:/home/myUser/sandbox/dsi/workbench/gwt sdk/gwt-2.5.1/doc/helpInfo/webAppClassPath.html

我刷新了浏览器,输入了一个新名称,然后单击“发送”我仍然看到“你好,…”而不是“邦乔罗,…”。我是做错了什么,还是这是GWT开发模式工具的一个bug?提前谢谢


注意:如果退出开发模式工具(并关闭浏览器上的选项卡),然后重新启动开发模式,服务器端更改将生效。但是GWT文档明确指出,要“热部署”服务器端代码,您所需要做的只是从工具中重新启动服务器……而不是退出它并完全重新启动工具……

我非常确定,您只需要在进行更改后重新编译GreetingServiceImpl.java(您没有提到在进行更改后进行此操作)。重新启动服务器不会神奇地为您重新编译所有内容(但通常您的IDE会)


请注意,热部署与“热编译部署”不同。

运行GWT DevMode时,它将只监视客户端java类中的更改

修改任何客户端命名空间(src/com/dummygwt/client或src/com/dummygwt/shared)中的任何类,在浏览器中重新加载页面,您将看到更改

然而,当您更改服务器端类时,必须在重新加载jetty服务器之前编译它们

使用任何文本编辑器修改服务器端的类(即greetingserviceinpl.java),然后在另一个终端中运行
ant javac
,greetingserviceinpl.class将被更新,最后按下“重启服务器”按钮,您将看到更改


如果您在Eclipse中编辑类,这个过程会简单得多,因为默认情况下Eclipse配置为将.java文件连续编译为.class,因此重新加载服务器就足够了。

名称是simple calls cache,对于apply settigs,您需要重新加载它。 有很多方法可以重新加载,你只需要选择一个对你来说更容易的。
关闭/打开是其中之一,您也可以在不退出的情况下从web浏览器中清除。

您是否检查了浏览器是否安装了GWT Developer插件,以及URL是否包含参数GWT.codesrv=…?谢谢@FutureTemotics(+1)-是浏览器打开的URL是
http://127.0.0.1:8888/OhHai.html?gwt.codesvr=127.0.0.1:9997
但是我不确定GWT开发者插件。我从来没有被提示安装它,所以我想它是自动安装的。(1) 不是这样吗?如果是,我如何安装它?(2)为什么浏览器插件不存在会阻止服务器端代码的热部署?谢谢你好为了获得浏览器,您需要Mozilla的GWT浏览器插件,请向GWT jetty服务器询问最新代码。如果您正在使用比Mozilla更容易访问的浏览器(单击其他系统的插件),则可以在获取最新的GWT浏览器插件。您是否已在调试模式下启动嵌入jetty的GWT eclipse插件?(这是一个愚蠢的问题,但我看不到其他问题);-)由于您是命令行,您是否编译了更改过的代码?