从遗留 gwt maven 插件迁移到新一代插件

MIgrating from legacy gwt maven plugin to new generation plugin

我正在寻找是否可以从当前的遗留 (mojo) GWT Maven 插件迁移到新一代 (ltgt) Maven 插件。我已经阅读了诸如 http://www.g-widgets.com/2016/12/02/gwt-tip-working-with-maven-multi-modules-projects/ 之类的文档,其中概述了如何将代码设置为单独的 Maven (POM) 模块。考虑到我们已经有了项目设置,其中应用程序有多个 GWT 模块,所有部分都是同一个 POM,无论如何我们可以使用插件来成功编译代码,还是每个模块都必须分成它自己的 maven 模块?

无需更改项目结构,尽管您会错过通过 maven 模块(不要与 gwt 模块混淆)完全分离客户端和服务器代码的机会。

所以说这是一个如何在没有多个 maven 模块的情况下使用新的 GWT maven 插件的示例:
只有一个 Maven 模块的示例项目结构: https://github.com/branflake2267/Archetypes/tree/master/archetypes/gwt-basic-rpc

如果您在一个 Maven 模块中有多个 GWT 模块,那么您必须指定多个执行。 (与旧插件不同):
具有多个 GWT 模块的示例插件配置:

      <plugin>
        <groupId>net.ltgt.gwt.maven</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>compile-module1</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <moduleName>com.example.module1.Module1</moduleName>
              <moduleShortName>module1</moduleShortName>
              <compilerArgs>
                <compilerArg>-localWorkers</compilerArg>
                <compilerArg>4</compilerArg>
                <compilerArg>-draftCompile</compilerArg>
              </compilerArgs>
            </configuration>
          </execution>
          <execution>
            <id>compile-module1</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <moduleName>com.example.module2.Module2</moduleName>
              <moduleShortName>module2</moduleShortName>
              <compilerArgs>
                <compilerArg>-draftCompile</compilerArg>
              </compilerArgs>
            </configuration>
          </execution>
        </executions>
      </plugin>

插件网站上也有 little migration guide
如果您对正确的多模块设置感兴趣 see here.