java.lang.NoClassDefFoundError: com/sun/xml/bind/api/TypeReference

java.lang.NoClassDefFoundError: com/sun/xml/bind/api/TypeReference

我正在尝试编译我的 Maven 项目,但无法执行此操作。我遇到了这个问题:

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/bind/api/TypeReference
    at com.sun.xml.ws.db.glassfish.JAXBRIContextFactory.typeInfoMappings(JAXBRIContextFactory.java:127)
    at com.sun.xml.ws.db.glassfish.JAXBRIContextFactory.newContext(JAXBRIContextFactory.java:85)

..跳过...

    at com.ric.st.impl.TaskController.searchTask(TaskController.java:144)
    at com.ric.st.impl.App22.main(App22.java:82)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.api.TypeReference
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 33 more

但我的 pom 包含此项目所需的所有库:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.2.10</version>
</dependency>

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>policy</artifactId>
    <version>2.7.2</version>
</dependency>

<dependency>
    <groupId>com.sun.xml.stream.buffer</groupId>
    <artifactId>streambuffer</artifactId>
    <version>1.5.4</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb1-impl -->
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb1-impl</artifactId>
    <version>2.2.5.1</version>
</dependency>

我该如何解决这个问题?

缺少 JAX-WS 依赖库“jaxb-impl.jar”。你可以尝试用 jaxb-impl 替换 jaxb1-impl 并且你可以在下面找到依赖项

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.11</version>
    </dependency>

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.2.11</version>
    </dependency>