我创建了一个库,它根据测试代码中的注释生成测试源代码。
我有第二个项目,它引用了测试代码
问题是编译阶段失败了,因为在编译测试之前没有任何机会生成类。
我可以用什么方式解决这个问题?
更新 我的插件部分:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>add-test-resource</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.build.directory}/generated-test-sources/test-annotations</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
生成代码的库使用注释处理器,在生成源代码之前搜索客户端代码以查找特定注释。据我所知,注释处理是在maven阶段generate-test-sources
之后的编译时完成的。
我开始明白发生了什么,但我仍然找不到解决这个问题的方法。
现在我也在寻找其他代码生成项目(例如jaxb2-maven-plugin
用于从xml架构生成java类),这些项目不像我那样使用注释处理。也许最好还是写一个maven插件...