Ril*_*ark 6 java gwt classpath gwt-super-dev-mode
我正在尝试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,它绝对是在那个位置.我该如何进一步诊断?
小智 7
我已经将CodeServer作为Eclipse中的外部工具运行(需要注意的是 - 你仍然必须以某种方式为你的html文件提供服务,我还没有这样做,但这似乎让代码服务器运行起来).要将CodeServer设置为Eclipse中的外部工具,
0)请记住,您还应该更新module.gwt.xml文件以允许Super Dev Mode书籍标记并启用源映射以进行调试.将这些喜欢添加到您的module.gwt.xml文件中.
<!-- enable the SuperDevMode book marklets -->
<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)
1)打开"外部工具/外部工具配置"对话框; 这是在Windows的顶级"运行"菜单下.
2)通过选择左侧列表中的"程序"创建新配置,然后按"新建"按钮(它看起来像文档).在对话框中命名配置.
3)java.exe文件的路径位于"位置:"框中.如果您不知道路径,可以使用"浏览文件系统"按钮找到它.
4)我把工作目录留空了.我不确定这是否重要; 它没有它似乎工作.有没有人知道这是否应该设置?
5)"Arguments:"框中的大部分工作.您将为类路径提供一个参数,该路径将包含gwt-dev.jar,gwt.user.jar,gwt-codeserver.jar和源目录的路径.然后,您将为gwt-codeserver.jar和要运行的CodeServer类提供-jar和参数,然后您将为CodeServer提供参数.我会打破它;
5a)-cp"用逗号分隔的类路径列表,用双引号括起来".为了使您的工具定义更具可移植性,请使用eclipse"Varaibles"计算相对于您的安装的路径.特别是,我将'workspace_loc'用于工作空间相对路径(如src目录)和'eclipse_home'用于gwt SDK的路径像gwt-user.jar这样的东西(因为我在eclipse插件文件夹中安装了SDK).这是我的classpath部分;
-cp "${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-user.jar;${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-dev.jar;${workspace_loc:\GWTFractionTest\war\WEB-INF\lib\gwtquery-1.1.0.jar};${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-codeserver.jar"
Run Code Online (Sandbox Code Playgroud)
5b)接下来是java.exe应该运行的类的名称.这是CodeServer类;
com.google.gwt.dev.codeserver.CodeServer
Run Code Online (Sandbox Code Playgroud)
5c)接下来是CodeServer的参数.第一个是直接到src的路径.对我来说,这是一个工作空间相对路径;
-src "${workspace_loc:\GWTFractionTest\src}"
Run Code Online (Sandbox Code Playgroud)
5d)最后,模块路径(你的gwt.xml文件的类路径)这是我的;
com.conceptua.fractiontest.FractionTest
Run Code Online (Sandbox Code Playgroud)
这是我的完整参数列表;
-cp "${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-user.jar;${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-dev.jar;${workspace_loc:\GWTFractionTest\war\WEB-INF\lib\gwtquery-1.1.0.jar};${eclipse_home}plugins\gwt-2.5.0.rc1\gwt-2.5.0.rc1\gwt-codeserver.jar" com.google.gwt.dev.codeserver.CodeServer -src "${workspace_loc:\GWTFractionTest\src}" com.conceptua.fractiontest.FractionTest
Run Code Online (Sandbox Code Playgroud)
6)选择"运行"按钮以运行CodeServer.当我在控制台中执行此操作时;
workDir: C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp
binding: user.agent=safari
binding: compiler.useSourceMaps=true
binding: locale=en
Compiling module com.conceptua.fractiontest.FractionTest
Validating units:
Ignored 72 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
Computing all possible rebind results for 'com.google.gwt.useragent.client.UserAgentAsserter'
Rebinding com.google.gwt.useragent.client.UserAgentAsserter
Checking rule <generate-with class='com.google.gwt.editor.rebind.SimpleBeanEditorDriverGenerator'/>
[WARN] Detected warnings related to 'com.google.gwt.editor.client.SimpleBeanEditorDriver'. Are validation-api-<version>.jar and validation-api-<version>-sources.jar on the classpath?
Specify -logLevel DEBUG to see all errors.
[WARN] Unknown type 'com.google.gwt.editor.client.SimpleBeanEditorDriver' specified in deferred binding rule
Compiling 1 permutation
Compiling permutation 0...
Source Maps Enabled
Compile of permutations succeeded
Linking into C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp\com.conceptua.fractiontest.FractionTest\compile-1\war\fractiontest; Writing extras to C:\Users\Ezward\AppData\Local\Temp\gwt-codeserver-6942784883227417581.tmp\com.conceptua.fractiontest.FractionTest\compile-1\extras\fractiontest
Link succeeded
Compilation succeeded -- 58.257s
Compile completed in 60831 ms
2012-07-01 12:37:03.184::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
2012-07-01 12:37:03.185::INFO: jetty-6.1.x
The code server is ready.
Next, visit: http://localhxst:9876/
2012-07-01 12:37:03.274::INFO: Started SelectChannelConnector@127.0.0.1:9876
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我得到最初的'72单位有编译错误'但它似乎继续成功编译和运行服务器.
7)此时,您应该将给定的CodeServer URL输入Chrome.您将获得一个指示CodeServer正在运行的页面,您可以将书籍标记拖动到书签工具栏;
GWT Code Server
Drag these two bookmarklets to your browser's bookmark bar:
Dev Mode On Dev Mode Off
Visit a web page that uses one of these modules:
fractiontest
Click "Dev Mode On" to start development mode.
Run Code Online (Sandbox Code Playgroud)
8)下一步是到你的html文件运行它.它显然需要由一个单独的网络服务器提供服务.我还在那个方面工作.
埃德
| 归档时间: |
|
| 查看次数: |
13359 次 |
| 最近记录: |