Fw: GWT 在 GPE 中的 Run Configuration

楼主: PsMonkey (痞子军团团长)   2011-12-01 19:43:01
※ [本文转录自 java 看板 #1ErsWKeK ]
作者: PsMonkey (痞子军团团长) 看板: java
标题: GWT 在 GPE 中的 Run Configuration
时间: Thu Dec 1 19:42:07 2011
网志版:http://blog.dontcareabout.us/2011/12/gwt-gpe-run-configuration.html
测试环境:Eclipse Indigo、GPE 2.4.2、GWT 2.4.0
GPE 将 GWT(还有 GAE)中许多指令与步骤包装起来,
一方面与 Eclipse 开发环境整合、另一方面尽可能让我们不用自己下指令设定。
不过当开发期间作一些变动时,就会发生无法自动校正对应的状况。
例如 host page 改名字或换位置,Development Mode 的 url 列表不会更新、
增加/删除一个 module 之后没办法顺利执行...... 等等。
这终究还是得回归问题的根源来处理。
从 Run Configuration 的 Main 页面我们可以看到
Google 的 Web Application 设定当中,
Main class 是指向 com.google.gwt.dev.DevMode,
辗转从 GWT 官方文件得知是在 gwt-dev.jar 这个档案里头,
实际手动执行会列出 DevMode 的参数格式:
(毕竟官方文件上 java 指令写的是古老的 HostMode,还是自己来一遍比较安心)
DevMode
[-noserver]
[-port port-number | "auto"]
[-whitelist whitelist-string]
[-blacklist blacklist-string]
[-logdir directory]
[-logLevel level]
[-gen dir]
[-bindAddress host-name-or-address]
[-codeServerPort port-number | "auto"]
[-server servletContainerLauncher[:args]]
[-startupUrl url]
[-war dir]
[-deploy dir]
[-extra dir]
[-workDir dir]
module[s]
各参数意义如下:
-noserver:执行时不启动内建的 web server
-port:指定内建的 web server 的 TCP port(默认为 8888)
-whitelist:让使用者可以浏览符合特定 regular express 条件的网址
(用逗号或空格分隔)
-blacklist:防止使用者浏览符合特定 regular express 条件的网址
(用逗号或空格分隔)
-logLevel:log 要纪录到多详细?值可以是
ERROR、WARN、INFO、TRACE、DEBUG、SPAM、ALL 其中之一。
-bindAddress:指定 code server 与 web server 的 IP 位址
(默认 127.0.0.1)
-codeServerPort:指定 code server 的 TCP Port(默认 9997)
-server:指定不同的 web server 当作内建 server
(必须 implement ServletContainerLaucher)。
例如使用 App Engine 的 server 就会指定
com.google.appengine.tools.development.gwt.AppEngineLauncher
为 server。
-startupUrl:自动启动指定的 URL
-war:可 deploy 的输出档案储存目录(默认为 war)
-workDir:内部运作时 compiler 的工作目录
(必需要能写入,默认是系统的暂存目录)
module:指定一个或多个需要加载的 module 名称,以空白分隔。
除了 module 建议放在最后,其余参数并无先后顺序之分。
有些参数在 GPE 当中测试不出结果,也不知道怎么翻译,列举如后:
-logdir:Logs to a file in the given directory,
as well as graphically
-gen:Debugging: causes normally-transient generated types
to be saved in the specified directory
-deploy:The directory into which deployable
but not servable output files will be written
(defaults to 'WEB-INF/deploy' under the -war directory/jar,
and may be the same as the -extra directory/jar)
-extra:The directory into which extra files,
not intended for deployment, will be written
如果要修改上述参数,位置在
Run Configuration→Arguments 页面→Program arguments。
其中大部分(有用)的参数在 Server、GWT 两个页面都可以自动处理。
比较特别的是 -startupUrl 这个参数,目前找不到 GPE 自动设定的方式
(新增 “Google Web Toolkit→HTML Page”无法正常运作)。
它会影响 GPE 的 Development Mode 的 url 列表,
如果移除掉这个设定,GPE 就会把 war 目录下所有 html、jsp 档都列出来;
另外如果有两个以上的 startupUrl,不能以空格分开 url 的方式设定,
而是必须重复 -startupUrl,例如:
-startup /project/portal.jsp -startup index.jsp
写到这边,基本上 GPE 里头的 Development Mode 已经没啥秘密了。
下次遇到执行有问题时,不妨自己检查一下 Run Configuration 的 Arguments 设定,
应该都可以从中获得解决。

Links booklink

Contact Us: admin [ a t ] ucptt.com