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

此外,您可以阅读该技术 -
GWT SuperDevMode - Ray Cromwell Post和GWT 开发指南
SourceMaps - GWT 和 Sourcemaps和HTML5 Sourcemaps