命令行工具

GWT 包含一组工具,这些工具可以从命令行运行,以简化和加速常见任务。

  1. 配置您的路径
  2. webAppCreator
  3. i18nCreator

配置您的 PATH

为了轻松调用命令行工具而无需输入其完整路径名,请将它们添加到系统命令搜索路径中。为此,在 PATH 环境变量中,识别您解压缩 GWT 发行版所在的目录。

Windows

  1. 右键单击“我的电脑”,然后选择“属性”。
  2. 打开“高级”选项卡。
  3. 单击“环境变量”按钮。
  4. 从用户变量列表中选择“路径”,然后单击“编辑”。
  5. 在变量值的末尾,添加一个分号,然后添加解压缩 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)。

示例

您可以选择antmaven构建系统。根据您的选择,您将获得不同的构建脚本和不同的文件夹结构。

由于现在 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脚本。

另请参见