【问题标题】:MIgrating from legacy gwt maven plugin to new generation plugin从旧版 gwt maven 插件迁移到新一代插件
【发布时间】:2018-11-06 21:22:55
【问题描述】:

我正在寻找是否可以从当前的旧 (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 模块?

【问题讨论】:

    标签: java maven plugins gwt


    【解决方案1】:

    无需更改项目的结构,尽管您会错过通过 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 感兴趣。

    【讨论】:

    • 谢谢托比卡。我会看看我是否可以重构代码以实现正确的多模块设置,尽管这可能比目前所说的更难。那么,对于第一个链接 gwt-basic-rpc 示例,我看到配置中指定了一个 moduleName,我们是说我们可以指定多个 moduleName,以便编译所有这些?
    • 我相应地更新了答案。这有帮助吗?编译器参数只是用来展示如何使用新插件添加它们。
    • 是的,我认为这似乎更有意义。我认为多次处决是我所缺少的。我会试一试,看看我是否成功。非常感谢。欣赏它。
    • 上述解决方案修复了编译。谢谢托比卡。
    猜你喜欢
    • 1970-01-01
    • 2017-11-07
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2013-10-17
    相关资源
    最近更新 更多