java - 在 JBoss AS 7 中找不到 JAXB com.sun.xml.internal.bind.v2.ContextFactory 类

标签 java jboss jaxb jboss7.x

在 JBoss 中使用 JAXB 时,我在执行代码时遇到以下异常:

  JAXBContext   jaxbContext   = JAXBContext.newInstance( jaxbElement.getClass().getPackage().getName() );

我得到的异常是:

[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "deployment.project.ear.subproject-jboss.jar:main" from Service Module Loader]]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:156) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:108) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:258) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:412) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:375) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:279) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]

看起来 JBoss JAXB 模块正在加载而不是 JDK,这就是异常的原因,但是我不确定如何解决这个错误?

最佳答案

最后我通过将默认上下文工厂更改为 eclipse 链接上下文工厂解决了这个问题,但不确定为什么它不能使用默认工厂。

  JAXBContext jaxbContext = JAXBContextFactory.createContext(  clss.getPackage().getName() , clss.getClass().getClassLoader());

并通过导入 org.eclipse.persistence.jaxb.JAXBContextFactory 类。

关于java - 在 JBoss AS 7 中找不到 JAXB com.sun.xml.internal.bind.v2.ContextFactory 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36041656/

相关文章:

java - HyperJAXB 和 IDREF

java - 从 JDK7 传递到 8 时出现 JAXB2 schemagen 语法错误

java - 如何让 JAXB 解析 BigInteger 的科学记数法?

java - 流上的终端操作是否关闭源?

mysql - 连接到 JBoss EWS 2.0 中的本地 MySQL 数据库

java - 优雅地停止线程

jboss - Keycloak 4.8.0 选择standalone-ha.xml作为--server-config参数时出错

java - Java 迭代器的奇怪行为

java - 除了 Java 属性之外,还有其他方法可以保存树状数据吗?

java - JDBC SQLite 数据库锁定错误