首页 > 解决方案 > apache cxf 仍在生成代码中使用旧依赖项

问题描述

我正在使用 java 11 和 apache cxf 3.3.5,它应该支持 java 11。但是一些生成的类仍在导入javax.xml.ws而不是 ,它已从 java 11 中删除。

我的插件:

    <plugin>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-codegen-plugin</artifactId>
        <version>${cxf.version}</version>
        <executions>
            <execution>
                <id>uapi-stub-client</id>
                <phase>generate-sources</phase>
                <configuration>
                    <additionalJvmArgs>
                        -Djavax.xml.accessExternalSchema=all
                    </additionalJvmArgs>
                    <sourceRoot>${SRC_BINDING_DIR}</sourceRoot>
                    <wsdlOptions>
                        <wsdlOption>
                            <wsdl>${WSDL_FILE_QUEUE}</wsdl>
                            <extraargs>
                                <extraarg>-verbose</extraarg>
                                <extraarg>-b</extraarg>
                                <extraarg>${WSDL_ASYNC_BINDINGX}</extraarg>
                            </extraargs>
                        </wsdlOption>
                        <wsdlOption>
                            <wsdl>${WSDL_FILE_SCHEDULER}</wsdl>
                            <extraargs>
                                <extraarg>-verbose</extraarg>
                            </extraargs>
                        </wsdlOption>
                    </wsdlOptions>
                </configuration>
                <goals>
                    <goal>wsdl2java</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

我的依赖:

<dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-policy</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-tools-common</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>${cxf.version}</version>
            <!--            exclude for IQ Gate report-->
            <exclusions>
                <exclusion>
                    <artifactId>ehcache</artifactId>
                    <groupId>net.sf.ehcache</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <type>maven-plugin</type>
        </dependency>

在有效的 pom 中,我可以看到 java 11 的 jakarta.xml.ws 和其他相关库。我的 pom 中是否有任何错误配置?

标签: javamavencxfcxf-codegen-plugin

解决方案


推荐阅读