命令行工具
GWT 包含一组工具,这些工具可以从命令行运行,以简化和加速常见任务。
配置您的 PATH
为了轻松调用命令行工具而无需输入其完整路径名,请将它们添加到系统命令搜索路径中。为此,在 PATH 环境变量中,识别您解压缩 GWT 发行版所在的目录。
Windows
- 右键单击“我的电脑”,然后选择“属性”。
- 打开“高级”选项卡。
- 单击“环境变量”按钮。
- 从用户变量列表中选择“路径”,然后单击“编辑”。
- 在变量值的末尾,添加一个分号,然后添加解压缩 GWT 发行版所在的目录的完整路径(例如,
;C:\gwt-2.0.0\
)。
Mac 或 Linux
在您的主目录中编辑名为.profile
或.bash_profile
的文件。例如,如果您在/home/user/gwt-2.0.0/
中解压缩了 GWT,请按如下方式更新您的配置文件
PATH=$PATH:/home/user/gwt-2.0.0/
export PATH
您需要注销您的帐户并重新登录才能使 PATH 设置生效。
webAppCreator
一个命令行工具,用于生成一个入门应用程序以及用于启动开发模式和编译为 JavaScript的脚本。使用这些脚本生成的作为构建您自己的项目的起点。
webAppCreator [-[no]overwriteFiles] [-[no]ignoreExistingFiles] \
[-templates template1,template2,...] [-out dir] \
[-junit pathToJUnitJar] [-[no]maven] [-[no]ant] moduleName
参数 | 定义 |
---|---|
-[no]overwriteFiles | 覆盖任何现有文件。(默认情况下为关闭) |
-[no]ignoreExistingFiles | 忽略任何现有文件;不要覆盖。(默认情况下为关闭) |
-templates | 指定要使用的模板(用逗号分隔)。默认为“sample,ant,eclipse,readme”。 |
-out | 要将输出文件写入的目录(默认为当前目录)。 |
-junit | 指定 junit.jar 的路径(可选)。 |
-[no]maven | 已弃用:创建 maven2 项目结构和 pom 文件(默认情况下禁用)。等效于在模板列表中指定“maven”。(默认情况下为关闭) |
-[no]ant | 已弃用:创建 ant 配置文件。等效于在模板列表中指定“ant”。(默认情况下为关闭) |
moduleName | 要创建的模块的名称(例如 com.example.myapp.MyApp)。 |
示例
您可以选择ant
或maven
构建系统。根据您的选择,您将获得不同的构建脚本和不同的文件夹结构。
由于现在 Maven 被广泛使用,并且在 IDE 中导入 Maven 项目更容易,因此最好为您的新 GWT 项目选择它。
创建Maven
项目。
~/Foo> webAppCreator -out foo -templates maven,sample,readme com.example.foo.Foo
生成的 文件如下使用
- 从命令行运行
mvn gwt:run
会在 superDevMode 中启动新应用程序。 - 从命令行运行
mvn package
会将 Java 应用程序转换为 JavaScript,在 target 目录中创建一个war
文件。 - src 中的其他文件实现了一个小型示例 GWT 应用程序,以及相应的
web.xml
文件和测试。
注意:由于 GWT-2.7.0 中的一个错误,它生成了一个损坏的pom.xml
,因此您必须修改<dependencyManagement>
块以包括<type>
参数。
<dependencyManagement>
<dependencies>
<!-- ensure all GWT deps use the same version (unless overridden) -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>${gwtVersion}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
创建Ant
项目。
~/Foo> webAppCreator -junit /path/to/junit-3.8.1.jar -out foo com.example.foo.Foo
生成的 文件如下使用
- 从命令行运行
ant devmode
会在 superDevMode 中启动新应用程序。 - 从命令行运行
ant build
会将 Java 应用程序转换为 JavaScript,在war
目录中创建一个名为foo
的 web 文件夹。 Foo.launch
是 Eclipse 的启动配置。FooTest-dev.launch
是 Eclipse 的启动配置,它将在开发模式下运行项目的测试。FooTest-prod.launch
是 Eclipse 的启动配置,它将在生产模式下运行项目的测试。- 其他文件实现了一个小型示例 GWT 应用程序。
您会注意到build.xml
文件包含许多规则来编译和部署您的应用程序。这些规则将帮助分别解决编译时和运行时所需的库,以编译和部署您的应用程序。
还要注意,您可能希望提取到build.properties
文件中的某些属性,例如gwt.sdk
属性,以便更容易与可能在其开发机器上具有不同配置的队友共享相同的构建脚本。此外,此build.xml
文件可以用作扩展的基础,因为您的项目需要更多依赖项或需要更具体的构建目标(例如,单元测试目标)。
i18nCreator
一个命令行工具,用于生成脚本以帮助进行静态字符串国际化,以及示例属性文件。修改.properties
文件以适合您的项目。运行生成的<classname>-i18n
脚本以(重新)生成一个 Java 接口,用于访问您的属性文件中定义的标签。
i18nCreator [-eclipse projectName] [-out dir] [-[no]overwriteFiles] \
[-[no]createConstantsWithLookup] [-[no]createMessages] \
[-[no]ignoreExistingFiles] interfaceName
参数 | 定义 | |
---|---|---|
?-eclipse | ?为指定的 Eclipse 项目创建 i18n 更新启动配置。 | |
?-out | ?要将输出文件写入的目录(默认为当前目录)。 | |
?-[no]overwriteFiles | ?覆盖任何现有文件。(默认情况下为关闭) | |
?-[no]createConstantsWithLookup | ?创建 ConstantsWithLookup 接口的脚本,而不是 | ?Constants 接口的脚本。(默认情况下为关闭) |
?-[no]createMessages | ?创建 Messages 接口的脚本,而不是 Constants 接口的脚本。(默认情况下为关闭) | |
?-[no]ignoreExistingFiles | ?忽略任何现有文件;不要覆盖。(默认情况下为关闭) | |
?interfaceName | ?要创建的接口的完全限定名。 |
示例
~/Foo> i18nCreator -eclipse Foo -createMessages com.example.foo.client.FooMessages
Created file src/com/example/foo/client/FooMessages.properties
Created file FooMessages-i18n.launch
Created file FooMessages-i18n
运行FooMessages-i18n
将从FooMessages.properties
中生成一个名为FooMessages.java
的文件中的接口类,该类扩展了Messages
(消息将接受参数,将{n}
替换为第 n 个参数)。
~/Foo> i18nCreator -eclipse Foo com.example.foo.client.FooConstants
Created file src/com/example/foo/client/FooConstants.properties
Created file FooConstants-i18n.launch
Created file FooConstants-i18n
运行FooConstants-i18n
将从FooConstants.properties
中生成一个扩展了Constants
的接口(常量不接受参数)。要创建一个ConstantsWithLookup
类,请传递-createConstantsWithLookup
选项。
在这两个示例中,启动配置执行与脚本相同的功能,但旨在从 Eclipse IDE 中运行。
提示:当属性文件中添加新条目时,必须再次运行-i18n
脚本。