JDK 1.8 JAXB:提供程序 com.sun.xml.bind.v2.ContextFactory 未找到

JDK 1.8 JAXB: Provider com.sun.xml.bind.v2.ContextFactory not found

我在 Eclipse 中使用 JDK 1.8 来 Unmarshaller xml 到 Java。这一行抛出

    JAXBContext jc = JAXBContext.newInstance("com.dtd");


 javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
    at javax.xml.bind.ContextFinder.newInstance(Unknown Source)

一切都是从jdk1.8加载的。例如:

[从 C:\Program Files\Java\jre1.8.0_25\lib\rt.jar 加载 javax.xml.bind.ContextFinder

com.sun.xml.bind.v2.ContextFactory在哪里?

一些值得尝试的东西:

  1. 检查类路径中的错别字。

  2. 尝试添加 jaxb 实现。 (而不是 jaxb-api)

  3. 添加带有模块依赖行的清单文件: 依赖项:com.sun.xml.bind 服务

  4. 阅读此内容:http://community.jboss.org/docs/DOC-16722

我的类路径中有配置单元-jdbc-1.1.0-standalone.jar。删除它解决了问题。