org.springframework.oxm.UncategorizedMappingException:未知的 JAXB 异常

问题描述 投票:0回答:0

我正在从 Spring Boot 2.7.6 迁移到 Spring Boot 3.0.5,从 Java 11 迁移到 Java 17。在调用 soap 客户端时,我在运行时遇到了这个错误:jakarta.xml.bind.JAXBExceptionclass MyClass 也不是它的任何超类在此上下文中已知。我尝试了许多 API 和 Maven 依赖项的实现,但仍未解决。一个正确的依赖关系的例子会很棒!

这是我的编组器:

@Bean("myMarshaller")
public Jaxb2Marshaller myMarshaller() {
    Jaxb2Marshaller marshaller = new Jaxb2Marshaller();

    marshaller.setContextPaths(
            "myPackage"
    );

    return marshaller;
}

依赖项:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web-services</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>4.0.0</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>

这是我的插件:

        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.14.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <schemaLanguage>WSDL</schemaLanguage>
                        <schemaDirectory>${project.basedir}/src/main/resources/.../wsdl</schemaDirectory>
                        <schemaIncludes>
                            <include>file.wsdl</include>
                        </schemaIncludes>
                        <generatePackage>myPackage</generatePackage>

                    </configuration>
                </execution>
            </executions>

        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
        </plugin>
    </plugins>
java spring-boot soap jaxb java-17
© www.soinside.com 2019 - 2024. All rights reserved.