如何识别缺少的 Java 库以使 JAXB 工作?
How to identify which missing Java Libraries to make JAXB to work?
我的 Tibco BW 6.3.2 项目调用了一些 Java 在我的机器上运行的代码,但我在服务器上遇到了问题。
起初,我遇到了这个错误
<CausedBy> java.lang.ClassNotFoundException: com.sun.xml.bind.v2.model.annotation.AnnotationReader cannot be found
所以用谷歌搜索并添加了 jaxb-impl.jar
和 jaxb-core.jar
(JAXB v2.2.11)。同样,它在我的机器上运行,无需将这些添加到 class 路径。但是一旦我添加了它们,我就在服务器上收到了这个错误:
<CausedBy> java.lang.RuntimeException: Provider for class javax.xml.parsers.SAXParserFactory cannot be created
<CausedBy> java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
再次,我用谷歌搜索并添加了 xercesImpl.jar
。但是现在我在我的机器和服务器上得到了这个:
<CausedBy> java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
经过一些 google 搜索,我确定我的项目中有 2 个 xerces
jar,但我找不到第二个。关于如何做到这一点的任何想法?或者有人有不同的解决方案吗?
旁注,java 代码在 Eclipse 中运行得非常好,无需将任何这些库添加到 class 路径。 (所有设备都使用 Sun JDK 1.8.0_92)
已编辑:
我删除了我添加的所有 jaxb 库,并在模块描述符 -> 依赖项 -> 导入包中定义了它们。
我的 Tibco BW 6.3.2 项目调用了一些 Java 在我的机器上运行的代码,但我在服务器上遇到了问题。
起初,我遇到了这个错误
<CausedBy> java.lang.ClassNotFoundException: com.sun.xml.bind.v2.model.annotation.AnnotationReader cannot be found
所以用谷歌搜索并添加了 jaxb-impl.jar
和 jaxb-core.jar
(JAXB v2.2.11)。同样,它在我的机器上运行,无需将这些添加到 class 路径。但是一旦我添加了它们,我就在服务器上收到了这个错误:
<CausedBy> java.lang.RuntimeException: Provider for class javax.xml.parsers.SAXParserFactory cannot be created
<CausedBy> java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
再次,我用谷歌搜索并添加了 xercesImpl.jar
。但是现在我在我的机器和服务器上得到了这个:
<CausedBy> java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
经过一些 google 搜索,我确定我的项目中有 2 个 xerces
jar,但我找不到第二个。关于如何做到这一点的任何想法?或者有人有不同的解决方案吗?
旁注,java 代码在 Eclipse 中运行得非常好,无需将任何这些库添加到 class 路径。 (所有设备都使用 Sun JDK 1.8.0_92)
已编辑: 我删除了我添加的所有 jaxb 库,并在模块描述符 -> 依赖项 -> 导入包中定义了它们。