最近用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,搞定!
如果還不清楚,請參考
百度知道。
“這個故事告訴我”(經過這次事件)jdk1.5+tomcat5.5是最佳組合。
希望這篇文章對你有用。