Maven 处理器插件 GWTP 应用程序中生成的源的顺序



我正在使用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它应该生成类的顺序?

我会com.project.clientcom.project.shared两个不同的Maven项目,将shared声明为client的依赖项,并将它们聚合为父项目中的<module>。因此,在构建此父项目时,Maven的反应堆会负责正确的构建顺序。

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

最新更新