解决 struts2 in tomcat5.0 Error filterstart 问题

struts2 在 tomcat5.0下出现以下错误,而在tomcat5.5下则正常运行。

2008-8-1 11:19:56 org.apache.catalina.core.StandardHostDeployer install 
信息: Installing web application at context path /struts2Test from URL file:D:\Tomcat 5.0\webapps\struts2Test
2008-8-1 11:20:05 org.apache.catalina.core.StandardContext start 
严重: Error filterStart 
2008-8-1 11:20:05 org.apache.catalina.core.StandardContext start 
严重: Context startup failed due to previous errors

 

由于jdk1.5 与 tomcat5.0之间的关于 TransformerFactoryImpl 类的冲突造成的。 
tomcat-5.0.28\common\endorsed下有两个jar包:xercesImpl.jar和xml-apis.jar,其中的类 javax.xml.transform.TransformerFactory 与jdk1.5中的类org.apache.xalan.processor.TransformerFactoryImpl其实是同一个类。 
in tomcat java is called with the following argument: 
-Djava.endorsed.dirs="X:\my_app\Portal\tomcat\common\endorsed" 
In this directory you find two jar files: xercesImpl.jar and xml-apis.jar needed by tomcat and that must be loaded before all xmsl stuff present in the jdk (1.4 naming problem). And in the file xml-apis.jar the TransformerFactoryImpl is set to "org.apache.xalan.processor.TransformerFactoryImpl".

 

解决办法: 
1. 将xml-apis.jar移出endorsed文件夹。 
2. 用xalan系列jar包替换原来的xercesImpl.jar和xml-apis.jar。 
xalan系列jar包:serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar。

 

xalan系列jar包下载地址:

http://www.apache.org/dyn/closer.cgi/xml/xalan-j
目前最新版本是:xalan-j_2_7_1-bin.zip

你可能感兴趣的:(apache,jdk,tomcat,xml,cgi)