当前位置: 首页 > 工具软件 > MyGWT > 使用案例 >

myGWT -> Ext GWT 体验

单嘉泽
2023-12-01
今天打开onGWT的RSS一看, 啥呀, GWT EXT vs EXT GWT. 晕呼呼.

原来是myGWT不干了, 变成了Ext下的一个项目. 一看demo, 怎么和以前0.4.3/0.5.1都不一样呢. 正好有点空, 看看能不能给我的myGWT应用升个级. 下了gxt-1.0-beta1.

把gxt(叫这名字不好么..)引到项目cp上, 要求gwt1.5, 还好我有个gwt-mac-0.0.2415, 搞上, Make, Intellij不干活了, 50.0...49.0问题, 原来它还是用1.6打包的, 不清楚soylatte能不能行, 我对apple给的1.6p1实在不敢恭维. 心想, 算了, 自己手工给他重新编译到1.5.

给的src目录和gxt.jar居然有些许不一样, 还要手工Mix一下, buildr起一个新项目就叫gxt. (SVN访问居然要钱?!)
repo里没有gwt的,我是自己放进去的, 再定义一个platform环境变量, 因为发布环境为linux嘛.
GWT = group("gwt-user", "gwt-dev-#{ENV['platform']}", :under=>"com.google.code.gwt", :version=>"1.5m2")
DOM4J = [ "dom4j:dom4j:jar:1.6.1" ]
repositories.remote << "http://www.ibiblio.org/maven2/"

为了运行explorer这个demo, 把以前写的编译方法拿过来

def gwt(projects, model)
out_path = projects[0]._("src/main/webapp")
cp = projects.map { |p| p._("src/main/java") }
# rm_rf "#{out_path}/#{model}"
if ENV["platform"]=="mac"
jvmarg = ["-XstartOnFirstThread", "-Xmx512M"]
else
jvmarg = ["-Xmx512M"]
end
puts "start #{Time.now()}"
java("com.google.gwt.dev.GWTCompiler", "-out", out_path, model, :classpath=>[cp, GWT, project("gxt")], :verbose=>true, :java_args=>jvmarg)
puts "end #{Time.now()}"
cp "#{out_path}/#{model}/index.html", "#{out_path}/"
end

这几个samples不是按照maven的格式组织项目的, 稍微改改 cd src;mkdir -p main/java;mv com main/java
resources还和buildr的保留关键字冲突, cd ../..;mv resources samples-resources
因为GWT是直接看.java文件的, 所以需要把java也当作资源文件打在一起, 大概应该这么写:

define "gxt" do
compile.with GWT
resources.from self.path_to("src/main/java")
package :jar
end

这样我打包后是1.3M.. 差不多吧. 主要是resource文件占了99%.
最后这个explorer的build就好写了,

define "explorer" do
compile.with projects("samples-resources","gxt"), GWT, DOM4J
build do
parent.gwt(projects("explorer", "samples-resources", "gxt"), "com.extjs.gxt.samples.explorer.Explorer")
end
package(:war).with(:libs=>compile.classpath)
end
define "samples-resources" do
compile.with GWT, projects("gxt")
package :jar
end

buildr一把,

start 四  4 24 17:09:11 +0800 2008
Running java com.google.gwt.dev.GWTCompiler
Compiling module com.extjs.gxt.samples.explorer.Explorer
2008-04-24 17:09:20.958 java[1732:813] [Java CocoaComponent compatibility mode]: Enabled
2008-04-24 17:09:20.960 java[1732:813] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
Compilation succeeded
Linking compilation into /Users/rexsheng/sf/gxt-1.0-beta1/samples/explorer/src/main/webapp/com.extjs.gxt.samples.explorer.Explorer
end 四 4 24 17:10:23 +0800 2008


比我想得快得多...

把Intellij的自动Make关掉, 加上个jetty启动. OK.
在定义一个gwt的启动, 也关掉自动Make, -noserver模式, OK.

终于看到了http://extjs.com/explorer/一样的东西.

代码还没看, 光是把它给的demo配置起来就用了2个多小时. 好在, 是能够跑起来了.

后记:
bug还是有的. 前进后退按钮有逻辑上的bug. 但可能是1.5m2的GWT本身的.
没有什么值得看的升级文档, 升级以前的项目, 如履薄冰
 类似资料: