我有一个maven项目,该项目使用wsgen从已编译的Java类生成XSD文件。
问题是我想将生成的文件作为资源添加到jar中。但是由于该resource阶段在该process-classes阶段之前运行,所以无法添加它们。
resource
process-classes
有没有办法告诉Maven添加在该process-classes阶段生成的其他资源?
我建议将XSD文件的输出目录定义为target / classs(可能带有一个补充子文件夹,该子文件夹稍后将在打包阶段打包到jar中。这可以通过使用maven-resources- plugin来实现。
<project> ... <build> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> <executions> <execution> <id>copy-resources</id> <phase>process-classes</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.outputDirectory}</outputDirectory> <resources> <resource> <directory>${basedir}/target/xsd-out</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> ... </build> ... </project>
您需要注意资源插件位于用于调用wsgen部分的插件之后。您也可以使用 prepare-package 阶段来确保将资源正确打包。