【问题标题】:maven processor plugin order of generated sources in a gwtp appgwtp应用程序中生成源的maven处理器插件顺序
【发布时间】:2015-03-17 05:41:33
【问题描述】:

我正在使用 maven 处理器插件来生成源代码。

        <!-- Run annotation processors on src/home/java sources -->
        <plugin>
            <groupId>org.bsc.maven</groupId>
            <artifactId>maven-processor-plugin</artifactId>
            <version>2.2.4</version>
            <executions>
                <execution>
                    <id>process</id>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <phase>generate-sources</phase>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.gwtplatform</groupId>
                    <artifactId>gwtp-processors</artifactId>
                    <version>${gwtp.version}</version>
                </dependency>
            </dependencies>
        </plugin>

问题是我生成的类依赖于这些生成的类。

例如

com.project.client.application.event.DevInfoEvent.java 有一个 DevInfoDto 的类成员 com.project.shared.dto.generated.dev.DevInfoDto.java

两个文件都生成了,但问题是 DevInfoEvent 生成得更快,因此我得到一个错误,它无法解析 DevInfoDto

当我第二次从 eclipse 运行 generate-sources 时,没关系,因为 DevInfoDto 已经生成。但是这种行为对我不好。 (不想在 CI 服务器上运行两次compile)。

有没有办法告诉maven processor plugin 一些顺序,它应该生成类?

【问题讨论】:

    标签: java maven gwtp


    【解决方案1】:

    我将创建 com.project.clientcom.project.shared 两个不同的 Maven 项目,将 shared 声明为 client 的依赖项并将它们聚合为父项目中的 &lt;module&gt;s。这样,在构建这个父项目时,Maven 的反应器会负责正确的构建顺序。

    这在另一个方面也很有意义:shared 功能可能与 client 功能不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-15
      • 2014-04-27
      • 2014-05-14
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多