Ozy*_*man 5 java jboss classcastexception
我对jboss的一个问题感到震惊.当我尝试将我的.war部署到服务器时,我得到以下错误,
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserF
actoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
从中可以看出,图书馆存在冲突.所以,我删除了包含xerces的jar文件,这是由jaxp-ri-1.4.1.jar发生的.现在,当我尝试重新部署时,我收到了这个新错误,
java.lang.NullPointerException
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:944)
at org.apache.commons.digester.Digester.parse(Digester.java:1765)
at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java
Run Code Online (Sandbox Code Playgroud)
抱怨它无法找到xml解析器.
那么,现在我的问题是,是否有人知道什么是解决方案.任何不包含xerces包的jaxp jar文件?
更新
java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl
Run Code Online (Sandbox Code Playgroud)
这是我删除的一个罐子里的一个类,里面包含SaxParserFactory :(
您似乎删除了错误的 JAR。当 SAXParserFactoryImpl 的实例(它是 SAXParserFactory 的子类型)被转换为 SAXParserFactory 时,报告原始 ClassCastException。
该异常更可能是由于 JVM 中加载了两个 SAXParserFactory 实例而不是两个 SAXParserFactoryImpl 实例。在转换时,返回由不同类加载器加载的 SAXParserFactory 导致异常。因此,修复方法是识别类路径中具有 SAXParserFactory 版本冲突的 JAR。如果 Commons Digester 正在寻找特定的实现,那么删除解析器实现本身可能并不明智。
| 归档时间: |
|
| 查看次数: |
18329 次 |
| 最近记录: |