我正在使用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
某个订单,它应该生成类?
答案 0 :(得分:1)
我要com.project.client
和com.project.shared
两个不同的Maven项目,将shared
声明为client
的依赖项,并将它们汇总为<module>
s在父项目中。这样,在构建这个父项目时,Maven的反应堆负责正确的构建顺序。
这在另一方面也有意义:shared
功能可能与client
功能不同。