如何使 cxf-codegen-plugin 和 wsdl2java 目标检查 wsdls 使用的 xsd 文件是否已被修改?当我在 xsd 中进行更改然后运行mvn verify
它时,它不会重新编译 jar 文件。
插件配置的片段。
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.0.4</version>
<executions>
<execution>
<id>generate-us-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${schemas.location}/usidentityservice.wsdl
</wsdl>
<extraargs>
<extraarg>-all</extraarg>
<extraarg>-impl</extraarg>
<extraarg>-validate</extraarg>
<extraarg> -wsdlLocation
</extraarg>
<extraarg> classpath:/us.wsdl
</extraarg>
</extraargs>
</wsdlOption>
<wsdlOption>
<wsdl>${schemas.location}/usv2.wsdl
</wsdl>
<extraargs>
<extraarg>-all</extraarg>
<extraarg>-impl</extraarg>
<extraarg>-validate</extraarg>
<extraarg> -wsdlLocation
</extraarg>
<extraarg> classpath:/usv2.wsdl
</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
一个不利的解决方案是放置maven clean 插件,以便它每次都清理并且不会错过 xsd 更改,但这也会每次清理它,这会使构建变慢。