我只想使用superDevMode运行一个简单的应用程序来了解它的好处.CodeServer成功启动,但它抱怨在UI中没有要编译的gwt模块.我按照以下步骤操作.
然后我修改了我的gwt.xml文件以添加链接器.这是我的gwt.xml的副本
<module rename-to='superdevmode'>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.user.theme.clean.Clean' />
<entry-point class='superDevMode.client.SuperDevMode' />
<add-linker name="xsiframe" />
<set-configuration-property name="devModeRedirectEnabled"
value="true" />
</module>
Run Code Online (Sandbox Code Playgroud)我添加了代码服务器jar并设置了正确的类路径.
Codeserver正在成功启动.
The code server is ready.
Next, visit: http://localhost:9876/
Run Code Online (Sandbox Code Playgroud)
当我启动UI时,我得到以下内容

但是,当我点击开发模式开启时,我得到以下内容

我不知道我做错了什么.我的POM条目看起来像这样.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>superDevMode</groupId>
<artifactId>superDevMode</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我.
Tom*_*rae 64
更新:v2.6看起来它将为superdevmode提供更好的示例启动器(请参阅http://www.gwtproject.org/release-notes.html#Release_Notes_2_6_0_RC1下的superdevmode )2.6将于任何一天发布.我正在使用RC3,看起来很好.更多信息:
虽然我很欣赏SuperDevMode在Thomas的文章中如何运作的细节,但真正需要的是逐步指导并解决一些问题.
这是一步一步的.有很多地方出错,SuperDev模式页面不是很具体.希望这清楚地表明:
</module>):<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- enable source maps -->
<set-property name="compiler.useSourceMaps" value="true" />
Run Code Online (Sandbox Code Playgroud)
运行标准的GWT编译过程 - 在Eclipse中这是"GWT Compile Project ..." - 这是您在部署GWT代码时通常所做的事情.毫无疑问,你有一个maven或ant命令也能做到这一点.
启动您在开发GWT代码时通常使用的常规Web服务器.例如,您使用普通DevMode的那个.我将这个称为localhost:8888 - 我将假设您通常启动的页面是index.html,因此http://localhost:8888/index.html显示您的GWT应用程序.(你?gwt.codesvr=127.0.0.1:9997通常可能在那个URL中)
启动SuperDevMode服务器(有关两种方法,请参阅本答案的底部).您现在有两个Web服务器在不同的端口上运行.所以,让我们说SuperDevMode正在运行localhost:1234.在这个答案的底部,我发布了一些启动SuperDevMode的方法.
将浏览器指向SuperDevMode服务器,所以http://localhost:1234.按照说明将两个快捷方式复制到地址栏
现在,将浏览器指向常规Web服务器,http://localhost:8888/index.html- 不要添加?gwt.codesvr=127.0.0.1:9997到URL - 仅适用于NotSuper DevMode.(即常规DevMode)
单击您在步骤5中复制的快捷方式链接"DevMode On".它应该要求您选择要编译的模块,单击"编译"按钮.
如果您需要源图(请参阅Chrome脚本浏览器中的java源代码),则必须在Chrome中启用它.在我的Chrome版本(Ubuntu)中,Chrome控制台右下角有一个小齿轮(Inspect Element,然后查看浏览器窗口的右下角).单击该按钮,然后找到"启用源映射".重新加载页面,它现在应该显示源代码.
启动超级开发模式的两种方法:
java -classpath $GWT_HOME/gwt-codeserver.jar:$GWT_HOME/gwt-dev.jar:$GWT_HOME/gwt-user.jar:app:./lib/* com.google.gwt.dev.codeserver.CodeServer \
-bindAddress 0.0.0.0 -port 1234 -src src -workDir work com.foo.MyModule
Run Code Online (Sandbox Code Playgroud)
在Eclipse中,使用以下配置创建新的Java Application Launcher(不是 Web应用程序启动程序!):
主类:
com.google.gwt.dev.codeserver.CodeServer
Run Code Online (Sandbox Code Playgroud)
计划参数:
-src src -workDir ${workspace_loc:MyProject}/codeserver -port 1234 com.foo.MyModule
Run Code Online (Sandbox Code Playgroud)
-workDir 是可选的
VM参数(可能需要这些参数取决于项目的大小.如果超级模式"编译"按钮(在浏览器中)在您单击后立即消失并且似乎没有发生任何事情,则可能由于内存不足而崩溃)
-Xmx1024m -Xms512m
Run Code Online (Sandbox Code Playgroud)
类路径:将gwt-codeserver.jar,gwt-dev.jar和gwt-user.jar添加到启动类路径(这些jar可以在GWT SDK安装目录中找到).
我采取了略微不同的方法.我从现有的Hello项目开始,然后将其配置为在超级开发模式下工作.
A.为hello项目构建和部署war到tomcat.
B.将目标添加到Hello项目的build.xml中.
<target name="codeserver" depends="javac" description="Run Code Server mode">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
<classpath>
<pathelement location="src"/>
<path refid="project.class.path"/>
<pathelement location="../../gwt-codeserver.jar" />
<pathelement location="../../validation-api-1.0.0.GA.jar" />
<pathelement location="../../validation-api-1.0.0.GA-sources.jar" />
</classpath>
<jvmarg value="-Xmx1024M"/>
<arg value="-bindAddress"/>
<arg value="0.0.0.0"/>
<arg line="-port"/>
<arg value="9876"/>
<arg value="-workDir"/>
<arg value="workDir"/>
<arg line="-src"/>
<arg value="src"/>
<arg value="com.google.gwt.sample.hello.Hello"/>
</java>
</target>
Run Code Online (Sandbox Code Playgroud)
C. 使用ant codeserver命令提示符运行代码服务器.
D.启动浏览器并导航到http://localhost:9876/ 创建书签
E.启动Chrome开发工具(F12)并启用SourceMaps.
F.启动浏览器并导航到http://localhost:8080/Hello
G.当您在页面中时,单击"开发模式开启"书签http://localhost:8080/Hello
H.单击"编译"按钮,指示代码服务器将gwt源代码作为源映射加载到浏览器.
I. Hurray提取了java文件,可以在Chrome开发控制台的源选项卡中看到.
J.找到Hello.java.单击行号以设置调试点@ Window.alert("Hello, AJAX");.
K.点击Hello World中的"Click Me".代码在Chrome中的java文件的Debug点停止!!!!!!!! 欢呼.
屏幕截图参考 - http://geekbybit.blogspot.in/2013/03/diy-working-with-gwt-codeserver-tomcat.html
