我正在尝试gwt-codeserver.jar使用该命令在OSX.7中运行jar
java -cp ".:/sdk/gwt-2.5.0.rc1/gwt-dev.jar" -jar /sdk/gwt-2.5.0.rc1/gwt-codeserver.jar com.activegrade.TeacherView
Run Code Online (Sandbox Code Playgroud)
该命令失败:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gwt/core/ext/TreeLogger
Caused by: java.lang.ClassNotFoundException: com.google.gwt.core.ext.TreeLogger
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
...
Run Code Online (Sandbox Code Playgroud)
但是gwt-dev.jar包含com.google.gwt.core.ext.TreeLogger的定义,所以我得出的结论是我没有在这里正确设置类路径.
我是否正确设置了类路径?jar文件肯定是正确的jar,它绝对是在那个位置.我该如何进一步诊断?
我工作的项目非常具体.我们将GWT与SAP后端一起使用.我们使用以下配置运行开发模式(作为程序参数;我使用IntelliJ IDEA直接运行项目)
-noserver -logLevel INFO -startupUrl http://server-url:8000/aaa -whitelist ^http[:][/][/]server-url[.]eu[:]8000/aaa com.company.project.main.Main
Run Code Online (Sandbox Code Playgroud)
注意,我们没有使用本地服务器(-noserver).
熟悉超级开发模式后,我明白它的工作方式类似于GWT Web模式,即它编译JavaScript(可以指定要编译的文件夹),然后运行托管该脚本的代码服务器.
由于项目的细节,编译的JavaScript通过WebDav使用maven部署到远程服务器.因此,仅指定-workDir为参数将不会在远程服务器上部署脚本.我们也不能(至少在目前)运行server-url地址上的Java服务器.
在这种情况下我们可以使用超级开发模式吗?
我有一个.jsp页面(我的gwt模块的主页),我正在尝试启用超级开发模式,因为我正在迁移到gwt 2.6.按照我在互联网上发现的解释,一旦我启动代码服务器并添加书签,接下来我必须在浏览器中打开页面,所以我从tomcat服务器调用jsp页面.
问题是没有任何反应,看着Chrome控制台似乎无法找到我的模块/ module.nocache.js有
什么想法吗?
编辑:添加.gwt.xml
<inherits name="XXX.frontend.gwt.Framework"/>
<inherits name="XXX.frontend.gwt.sample.frontend.module.blanc.Module"/>
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
<!-- Specify the application entry point class -->
<entry-point class='XXX.frontend.gwt.client.FrameworkEntryPoint'/>
<!-- Compile for specific browser -->
<!-- <set-property name="user.agent" value="ie8,ie9,ie10,gecko1_8,safari" /-->
<!-- Compile for specific language -->
<extend-property name="locale" values="fr" />
<set-property-fallback name="locale" value="fr" />
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE' />
<set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(localhost|127\.0\.0\.1)(:\d+)?/.*" />
<add-linker name="xsiframe" />
<set-property name="compiler.useSourceMaps" value="true" />
Run Code Online (Sandbox Code Playgroud)
我开始学习GWT了.
我已经选择了最新版本(2.7.0).
我写了Entry point类来显示起始页并调用rpc到服务器来执行某些功能.
我在Entry point课堂上的客户端源代码中所做的每一次更改都会导致自动重新编译(热插拔),所以我可以看到我已经应用的即时更改.
我的问题是它只适用于客户端代码.
它不适用于服务器端代码.要查看服务器端代码的更改,我必须停止服务器和控制台,然后再次运行它,这非常非常烦人.
所以我的问题是:
请告诉我你的想法.
顺便说一句:我使用GWT与eclipse和谷歌插件.
编辑
我想知道Maven GWT项目怎么样?怎么处理他们?
我想标题说明了一切:
是否有某种标志允许我的GWT应用程序检查它当前是否在超级开发模式下运行(可能是某些东西GWT.isProdMode())?
超级开发模式成功启动,但在我对代码进行更改并尝试从浏览器重新编译后,GWT报告以下错误:
GET /recompile/de.marketmaker.iview.mmgwt.mmweb.Mmweb
Job de.marketmaker.iview.mmgwt.mmweb.DevMmweb_1_4
starting job: de.marketmaker.iview.mmgwt.mmweb.DevMmweb_1_4
binding: locale=default
binding: user.agent=gecko1_8
Compiling module de.marketmaker.iview.mmgwt.mmweb.DevMmweb
[ERROR] Current binding properties are expanding to more than one permutation but per-file compilation requires that each compile operate on only one permutation.
[WARN] recompile failed
[WARN] continuing to serve previous version
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?我找到了以下主题,但它没有提供任何解决方案:https://groups.google.com/forum/#!topic/google-web-toolkit-contributors/5lgtM77-1tM
问题 Codeserver
是否有任何方法在-src标志中接受多个dir?
详细信息
我正在尝试将源代码分成如下文件夹:
我得到了常规开发模式,通过以下*.gwt.xml文件编译我的代码:
SRC/MyProject.gwt.xml
<module>
<inherits name='com.google.gwt.user.User' />
<inherits name="com.my.project.Widget"/>
<entry-point class="com.my.project.Test" />
</module>
Run Code Online (Sandbox Code Playgroud)
小部件/ Widgets.gwt.xml
<module>
<inherits name='com.google.gwt.user.User' />
<inherits name="com.my.project.Widgets"/>
</module>
Run Code Online (Sandbox Code Playgroud)
但每当我尝试在Codeserver(SuperDevMode)中运行时,它会说它无法在com.my.project.Widgets包中找到类.
我正在使用以下参数运行SuperDevMode:
-src src/ com.my.Project.MyProject
Run Code Online (Sandbox Code Playgroud)
但我猜我需要这样的东西:
-src src/ com.my.Project.MyProject widgets/ com.my.Project.Widgets
Run Code Online (Sandbox Code Playgroud)
仅供参考
我知道您可以使用包来组织课程,但我更喜欢将它们放在单独的源文件夹中,所以稍后我可以轻松地将它们重新打包到单独的jar中.
更新
刚尝试添加[module]:
-src src/ com.my.Project.MyProject com.my.Project.Widgets
Run Code Online (Sandbox Code Playgroud)
没工作:(
我正在尝试遵循gwt教程并使用superdev模式.我在Chrome浏览器中看到java源地图,可以放置断点,但是我试图添加到"watch expresion"窗口的所有内容都没有用.所以我的问题是如何使用superdev模式进行调试?
我已经按照教程中的描述创建了项目
./webAppCreator -out MyWebApp com.mycompany.mywebapp.MyWebApp
并运行
ant superdevmode
ant hosted
这是我在"开发人员工具"窗口中看到的屏幕截图正如您所看到的 - 变量closeButton和dialogBox未定义
版本的gwt - 2.6.1
Chrome版权所有 - 36.0.1985.125米

我想通过gwt-maven-plugin和jenkins在我的服务器上部署我的GWT 2.7应用程序.但是,在编译过程之后,当我启动我的应用程序时,我发出以下错误消息:
Couldn't load APPLICATION_NAME from Super Dev Mode
server at http://MY_IP:9876.
Please make sure this server is ready.
实际上,默认情况下启用超级开发模式,因为2.7.那么,如何禁用它以使用生产模式?
我已经将gwt 2.5.1升级到2.6并且自从超级开发模式启动以来,我可以在myApp上看到bookmarklet:9876,模块加载,但是当我点击"Dev Mode On"时没有"编译"按钮.代码服务器加载好,我可以看到编译的排列.
build.xml的相关部分:
<property name="cpstring" value="${toString:gwt-codeserver}" />
<target name="sdevmode" depends="build-dev">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.codeserver.CodeServer">
<classpath>
<pathelement path="${cpstring}" />
</classpath>
<jvmarg value="-Dorg.mortbay.util.FileResource.checkAliases=false" />
<jvmarg value="-Xmx2g" />
<jvmarg value="-XX:MaxPermSize=256M" />
<jvmarg value="-XX:+UseParallelGC" />
<arg value="-bindAddress" />
<arg value="0.0.0.0" />
<arg value="-src" />
<arg value="${basedir}" />
<arg value="-workDir" />
<arg value="/tmp/test" />
<arg value="path.to.dev" />
</java>
</target>
<!-- Super Dev Mode -->
<add-linker name="xsiframe" />
<set-property name="compiler.useSourceMaps" value="true" />
<set-configuration-property name="devModeRedirectEnabled" value="true" />
<set-configuration-property name="gwt.superdevmode" value="on" />
<set-configuration-property name="devModeUrlWhitelistRegexp" value=".*" /> …Run Code Online (Sandbox Code Playgroud) 我有多个使用 GWT+SmartGWT 开发的基于 maven 的应用程序。目前我迁移到 GWT 2.7 并为这个多 maven 项目设置超级开发模式并启动 SDM。但是当我参考时页面编译没有发生。是否有任何想法我需要配置。有什么建议吗?