0

如何使 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 更改,但这也会每次清理它,这会使构建变慢。

4

0 回答 0