mawt处理器插件gwtp app中生成的源的顺序

时间:2014-12-06 11:25:47

标签: java 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>

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

E.g。

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某个订单,它应该生成类?

1 个答案:

答案 0 :(得分:1)

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

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

相关问题