天天看點

struts2部署時Error filterStart錯誤

控制台報錯:

2008-7-2 15:24:58 org.apache.catalina.core.StandardContext start

嚴重: Error filterStart

2008-7-2 15:24:58 org.apache.catalina.core.StandardContext start

嚴重: Context [/struts2] startup failed due to previous errors

tomcat的log日志報錯:

javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found

解決方法:

最近用struts2做了一個小項目。

在本地測試,相當順利,但是放到伺服器上測試時,tomcat總是報404錯誤,弄得我相當郁悶。于是将伺服器的tomcat日志檔案下載下傳下來一看居然是Provider org.apache.xalan.processor.TransformerFactoryImpl not found這個錯誤,于是便在google,百度上面搜了一搜,發現引發此錯誤的原因竟然是jdk1.5 與 tomcat5.0之間的關于 TransformerFactoryImpl 類的沖突造成的。

為什麼我在本地測試的時候是非常正常的呢?是因為我在本地環境的搭配是jdk1.5+tomcat5.5而伺服器上的環境是jdk1.6+tomcat5.0,是以引發此錯誤。此錯誤是怎麼發生的呢?有興趣研究一下的朋友或許可以在這篇文章中得到一些啟發(http://www.java125.cn/article.asp?id=2547)。

下面說說我的解決辦法吧(其實也是百度,google的解決辦法):

首先下載下傳“xalan系列jar包”,下載下傳位址:http://www.apache.org/dyn/closer.cgi/xml/xalan-j,

然後将tomcat中目錄下:/tomcat/common/endorsed/(xercesImpl.jar和xml-apis.jar)删掉,然後将下載下傳的xalan系列jar包(包括serializer.jar、xalan.jar、xercesImpl.jar、xml-apis.jar、xsltc.jar)拷貝到/tomcat/common/endorsed目錄,重新開機tomcat,搞定!