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

时间:2015-04-06 15:07:33

标签: java xml eclipse jaxb

我在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在哪里?

2 个答案:

答案 0 :(得分:2)

我的classpath中有hive-jdbc-1.1.0-standalone.jar。删除它解决了问题。

答案 1 :(得分:1)

尝试一些事情:

  1. 检查类路径中的拼写错误。

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

  3. 添加包含模块依赖项行的清单文件: 依赖关系:com.sun.xml.bind服务

  4. 请仔细阅读:http://community.jboss.org/docs/DOC-16722