现象:
两个同样的struts2应用,先启动的不报错,但是后来启动的就报错,非常诡异。
java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
后来baidu了下,发现时缺少xalan jar包,后来添加了xalan后还是报错,报没有org/apache/xml/serializer/TreeWalker这个类
当看见这个错误时就奇怪,明明程序中没用到org/apache/xml/serializer/TreeWalker这个类,它报什么错啊,不过还是查了查。
找到的原因是:原本这个类是包含在xalan.jar中的,但是xalan-j2.7.0版的发布包中,将serializer包中的类单独打包成serializer.jar,不再包含在xalan.jar中,所以才会即使添加了xalan.jar也无法找到该类,添加后即可解决问题。我搜了下自己的硬盘,原来下载的xerces压缩包中有这个包,想起上次解决是把这个包放在tomcat下了,这次写的java文件得将这个包放到环境变量里,于是放进去,重打开editplus,问题解决
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xu2481469/archive/2009/08/05/4413713.aspx
---
另外,在网上搜到jdk1.5与tomcat 5.0之间有冲突,http://newpeter.iteye.com/blog/314247
记录如下:
环境:
1、MyEclipse5.1(Eclipse3.2)
2、Struts2_2.0.11
3、Tomcat5.0
异常:
- 2009-01-10 15:40:39 StandardContext[/struts2]Exception starting filter struts2
- javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
2009-01-10 15:40:39 StandardContext[/struts2]Exception starting filter struts2
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
错误原因:
jdk1.5和tomcat5.0之间关于TransformerFactoryImpl类的命名冲突造成。
在tomcat安装目录的common\endorsed下有两个jar包,xercesImpl.jar和xml-apis.jar,其中xml-apis.jar中的
类javax.xml.transform.TransformerFactory与jdk1.5中的类org.apache.xalan.processor.TransferFactoryImpl其实是同一个类。
解决:
1、升级tomcat到5.5或更高版本。
2、下载xalan系列jar包。(http://apache.etoak.com/xml/xalan-j/source/)
(xml-apis.jar、xercesImpl.jar、xalan.jar、serializer.jar)
替换endorsed文件夹中的两个jar包。
分享到:
相关推荐
在使用Struts2框架进行Web开发的过程中,有时会遇到访问Web应用首页时出现拦截并报错的情况。错误信息通常为:“There is no Action mapped for namespace / and action name.”,这意味着Struts2在尝试处理请求时找...
本文将详细介绍如何解决Struts项目中的乱码问题,帮助开发者确保数据正确无误地显示。 #### 二、乱码原因分析 乱码的根本原因是字符编码不一致。例如,在前端输入中文时,如果浏览器、服务器端处理数据时使用的...
从提供的日志片段来看,这段内容主要涉及Apache Tomcat服务器的启动过程以及在运行过程中遇到的一些问题。接下来我们将根据这些日志条目逐一进行解析,并总结出相关的知识点。 #### 二、Apache Tomcat Native ...
- 解决 Spring 配置文件中的报错问题,通常是因为缺少 Commons-dbcp-1.2.2.jar 包。 - 下载该 jar 包并将其放入项目下的 `/WebRoot/WEB-INF/lib` 目录下。 - 清理项目,解决报错。 6. **Hibernate 反向工程** ...
Java 实现文件上传和下载是 Java Web 开发中非常常见的一种功能,今天我们将使用 Struts2 框架来实现文件上传和下载的功能。 环境准备 在开始实现文件上传和下载之前,我们需要准备好开发环境。我们使用的开发环境...
特别是当涉及到Spring与Hibernate在AOP(面向切面编程)方面的集成时,可能会遇到类库版本冲突等问题,这些问题往往会导致应用无法正常启动或运行。 #### 二、具体问题分析及解决方案 ##### 1. Ignoring namespace...
2. **问题二:安装过程中需要注意的问题** - 确保所有服务器的时间同步。 - 检查防火墙设置,确保必要的端口开放。 - 配置 SELinux 或禁用它,以免对集群造成影响。 3. **问题三:运行 ./startup.sh 时抛出内存...
SpringMVC、struts1和struts2区别:SpringMVC与Struts1和Struts2的主要区别在于它们的控制反转(IOC)和面向切面编程(AOP)。 Struts2中result中的type类型:Struts2中result可以是 dispatcher、chain、redirect、...
##### SpringMVC、struts1和struts2区别 - **SpringMVC**:轻量级框架,与Spring无缝集成。 - **Struts1**:较早的MVC框架,使用ActionForm。 - **Struts2**:基于拦截器的设计模式。 ##### Struts2中result中的...
2. ****:用于提供关于Web应用的简短描述。同样是非必需项,但可以帮助开发者更好地理解应用的功能和用途。 3. ****:用于配置Web应用的环境参数,例如数据库连接信息等。这些参数可以在Web应用内部被访问和使用。...
##### Struts2中result中的type类型 - **dispatcher**:将请求转发给指定页面。 - **chain**:执行另一个action。 - **redirect**:客户端重定向到指定URL。 - **redirectAction**:服务器端重定向到另一个action。...
以下是详细的知识点总结: ### Java基础部分 1. **单个源文件中的类数量限制**:在Java中,一个`.java`源文件可以包含多个类,但只能有一个公共类,并且该文件名必须与公共类的名称完全相同。其他非公共类则没有...