关于java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion问题的解决

在学习《struts2.0权威指南》的时候遇见了如下错误:

 

 配置完成:出现如下错误:
  严重: Exception starting filter struts2
  java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/String;)V


我的配置如下:
  用了5个jar包:
  commons-loggin-1.1.jar
  freemarker-2.3.13.jar
  ognl-2.6.11.jar
  struts2-core-2.1.6.jar
  xwork-2.1.2.jar
 其中web.xml文件的内容如下:
 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<!-- struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
最终解决方案:
 来源于博客
 The reason was in JVM version. Platforms where deployment was successful used JVM 1.5 but problematical one had JVM 1.6. SAX2DOM class from Java 1.6 has a call to DocumentImpl::setXmlVersion() from itssetDocumentInfo(). The version of xerces library I used doesn't have this method - it's a real reason of exception. So after I downloaded the latest version of xerces everything works fine.

我英语不太好:大致翻译了一下:大概是jvm中版本问题,jvm中没有jar包可以解析itsetDocumnetInfo()方法,缺少解析的jar包,到网上下载了个xerces.jar包,问题解决 struts2.0正常解析启动。

你可能感兴趣的:(jvm,exception,struts,jar,Deployment,encoding)