我在使用docx4j时遇到了一个错误,并且可能找到了它的原因:
javax.xml.bind.JAXBException: JAXB: Can't instantiate JAXB Reference Implementation
- with linked exception:
[java.lang.ClassNotFoundException: org.docx4j.jaxb.ri.NamespacePrefixMapper]在我的项目中,我使用docx4j-JAXB-内部v.8.1.2 +docx4j-export v.8.1.2 (由Maven编写)
我还使用Hibernate (hibernate-core-5.4.2),在它们的POM中可以看到,依赖项包含:
所以,当我来到NamespacePrefixMapperUtils::getPrefixMapper时,
它试图找到"com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl",
但在这里我得到了"com.sun.xml.bind.v2.runtime.JAXBContextImpl“
我觉得有依赖性的冲突,我该怎么解决呢?谢谢
发布于 2019-08-19 13:28:55
修正了这个问题:
在文件夹中
resources/META-INF/services我创建了名为javax.xml.bind.JAXBContext的文件
然后我把这条绳子插进去:
com.sun.xml.internal.bind.v2.ContextFactory
默认的上下文工厂,它被覆盖了,所以它是利润
https://stackoverflow.com/questions/57555919
复制相似问题