org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean.CookieTei錯誤解決方法。


昨天還好好的,可是今天就出錯了,去網上查了下解決方案。找到一個貌似可行的方法:

1. 把部署到服務器上的工程里面的 WEBROOT/WEB-INF/lib目錄下的兩個jar包刪除,然后重啟服務器就OK了要刪除的jar包是:javax.servlet.jar javax.servlet.jsp.jar原因是在tomcat里面的lib包下面也有這兩個jar包,jar包沖突。

照着這樣做,發現刪除掉這兩個jar后,再次用Myeclipse編譯還是會在lib下出現這兩個包,這下子就郁悶。又試了幾下,結果一樣。找了下 ClassPath,發現這兩個包其實是在J2EE Library下的,我感覺這個錯誤肯定是跟這兩個包有關的啦,索性拿了另外一個項目來測試,同樣再次編譯,可是那個項目的lib下卻沒有增加這兩個包。

2.網上還有解釋是這兩個包跟tomcat下lib的包沖突,可是找了tomcat lib里面卻沒有這兩個包,一時間也有點郁悶。

3.網上還有的情況是刪除tomcat下已發布的這個項目,然后重新發布一次,我也試了,照樣不行。

這些方法都試過,還是不行。之后我就把項目的項目下struts和lib下的包整合在一起,再把有重復的包刪除掉,一運行,居然就通過了。。。項目lib下的 javax.servlet.jar javax.servlet.jsp.jar兩個包也沒再生成了。。

這種情況我的確沒法解釋,可能中間有一個操作我沒注意到,然后就使得這兩個包不會發布到根目錄下。結果就幸運地解決問題了。

總之,這種問題挺煩的。可是要是能夠在解決問題的過程中,更加熟悉tomcat和項目發布、編譯的原理,哪怕只是過程,也挺有幫助的吧。

上面為我搜到的一個朋友的解決方法,我把這兩個包刪除后就好了,但是lib下還是會生成這兩個包,通過查看包里面的類,找到jstl-1.1.2.jar里面的類與這兩個類有相似,因為這種錯誤有可能是jar包沖突,包沖突可能是吧版本問題,就換了一個jstl.jar版本的解決了這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM