處理javax.servlet.jsp.JspFactory.getJspApplicationContext錯誤

來源:互聯網
上載者:User

今天部署一個J2EE項目後,就出現了這個錯誤:

java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;

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

1.把部署到伺服器上的工程裡面的 WEBROOT/WEB-INF/LI目錄下的兩個jar包刪除,然後重啟伺服器就OK了 要刪除的jar包是: javax.servlet.jar javax.servlet.jap.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.jap.jar兩個包也沒再產生了。。

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.