我是gwt的新手。我不知道如何启动超级开发模式。我需要一步一步详细说明。
我尝试通过添加
来编辑gwt.xml文件<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<set-property name="compiler.useSourceMaps" value="true" />
但我无法理解这一点。
答案 0 :(得分:60)
更新:从GWT 2.7开始,默认情况下DevMode会自动使用超级开发模式,所以你必须像以前一样启动DevMode,应用程序将自动(重新)编译在页面上(重新)加载。
一个区别是生成了一个特殊的.nocache.js
,因此您必须确保浏览器加载此特定文件;要调试远程服务器(就像之前使用-noserver
运行的DevMode一样),你必须使用如下所述的书签。
要在超级开发模式下运行,您必须完成两个准备步骤:
超级开发模式仅适用于xsiframe
链接器,因此请确保.gwt.xml
中也包含以下行:
<add-linker name="xsiframe" />
该链接器可以安全地用于生产(Google在任何地方都使用它,稍微定制),因此可以随意为所有项目打开它(它结合了std
链接器中最好的 - 默认的 - 和 - xs
链接器,没有它们的缺点。)
注意:该链接器将是2.7
中的默认值如果您在2.6.0之前使用GWT版本,则还需要在.gwt.xml
中启用超级开发模式:
<set-configuration-property name="devModeRedirectEnabled" value="true" />
否则,如果您打算使用不同于127.0.0.1
或localhost
的网址的超级开发模式,则您必须将主机列入白名单。这是使用正则表达式完成的,例如:
<set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(mymachinename|192\.168\.5\.151)(:\d+)?/.*" />
将您的应用程序编译并部署到您附近的Web服务器(如果您使用了特定于Super Dev Mode的.gwt.xml
文件,请确保编译该模块:xsiframe
链接器和编译步骤需要devModeRedirectEnabled
属性!)
如果您使用GWT-RPC,请将系统属性gwt.codeserver.port
设置为您将运行超级开发模式的端口(默认为9876
),以便您的服务器可以直接下载RPC序列化策略超级模式。
如果您在不同的计算机上运行它们,则必须覆盖所有getCodeServerPolicyUrl
中的RemoteServiceServlet
。如上所述in the javadoc
完成后,您可以开始超级模式会话:
使用与您启动DevMode相同的类路径启动com.google.gwt.dev.codeserver.CodeServer
(即gwt-user.jar
,gwt-dev.jar
以及所有客户端依赖项:例如GXT,GIN + Guice ,GWTEventBinder等)但添加gwt-codeserver.jar
;并将模块的名称作为参数传递。
首先编译模块以检查它是否可以实际编译;您可以通过传递-noprecompile
作为参数来跳过此步骤。
如果您从未运行超级开发模式,请转到http://localhost:9876
并将开发模式和开发模式关闭链接添加到您的书签(拖放它们到你的书签栏。)
注意:如果你使用Maven,你应该可以使用mvn gwt:run-codeserver
(注意:插件版本中有一个错误,直到2.6.0,你实际上必须运行mvn process-classes gwt:run-codeserver
;这已在2.6.1)中修复。
在浏览器中打开您的应用,然后点击开发模式书签。单击打开的弹出窗口中的编译按钮。它应刷新页面并从CodeServer
而不是从您的服务器加载JS。您的浏览器开发工具也应加载SourceMaps,以便您可以查看和调试(逐步)Java代码。
如果要测试对代码所做的更改,请再次点击开发模式书签。与DevMode相反,刷新页面不会使其运行新代码;必须首先重新编译代码,这是在 Dev Mode On bookmarklet之后单击 Compile 按钮时完成的(注意:您也可以直接将编译加入书签按钮用于保存点击,但请注意它已绑定到您的模块,因此如果您处理多个模块,则需要多个书签。)
完成后,点击开发模式以确保切换回生产模式,然后关闭CodeServer
进程(控制台中的 Ctrl C 应该有效。
http://www.gwtproject.org/articles/superdevmode.html的官方文件 有关Super Dev Mode实际工作原理的更多信息,另请参阅http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/。
答案 1 :(得分:16)
按照以下步骤操作,您一定会找到解决方案。
下载GWT 2.5 RC2,把它放在某个地方......我把它放在我的eclipse / plugins目录中。 link
在Eclipse中,将GWT 2.5添加到Project -> Properties -> Google -> Web Toolkit -> Configure SDKs
屏幕,然后选择已添加到上述步骤中的目录的2.5版本。
右键单击Eclipse中的项目,转到其Run Configurations窗口,然后创建一个新的&#34; Java Application&#34;,将其命名为&#34; GWT Super Dev Mode&#34;
在“运行配置”窗口中,执行以下操作:
根据项目名称设置项目,并在主要类中输入 com.google.gwt.dev.codeserver.CodeServer
在Classpath tab
上,点击user Entries
,然后点击Add External JARs
,导航到GWT 2.5目录,找到 gwt-codeserver.jar ,然后点击&#34;打开&#34; (和其他外部图书馆)。
在Arguments选项卡中,将-src src/ *SOURCE PATH OF YOUR PROJECT*
添加到Program参数,并将可选的-Xmx1024m
添加到VM参数。
单击“应用”,然后继续运行项目。
在此之后,您将获得一个类似 localhost:9876 /
转到该网址,并添加书签,Dev Mode ON
和Dev MOde Off
然后运行您的代码,删除后缀 gwt.codesvr = 127.00.1:9997 URL。现在点击Dev Mode ON
...
希望你能得到解决方案......
答案 2 :(得分:7)
我用super-dev-mode Here为hello world项目调试编写了一个简单的分步指南。
通过截图阅读分步指南后,您不能错过它。
此外,您可以阅读该技术 -
GWT SuperDevMode - Ray Cromwell Post和GWT Dev Guide
SourceMaps - GWT and Sourcemaps和HTML5 Sourcemaps
答案 3 :(得分:3)
答案 4 :(得分:-2)