java web項目運行出現java.lang.NoSuchFieldError: deferredExpression解決方法!

出錯原因:這種錯誤可能是由於jstl包衝突引起的,從而引起衝突造成的錯誤:
第一種情況:原因是lib下有幾個jstl包;
第二種情況:但是大多情況下,並非由於lib下有幾個jstl包,而是由於使用都使用了J2EE5的Librabries,
而J2EE5是自帶了jstl包的,同時又在lib中導入了另外版本的jstl包,這種時候衝突就產生了。
解決方法:
第一種情況:刪除較低版本的jstl包只留一下最高版本的jstl包,重啓tomcat即可;
第二種情況:刪除lib下的jstl包,保留J2EE裏的jstl包,重啓tomcat即可。
補充:第二種情況的解決方法,會有一個問題就是,每次重部署項目都要去lib下刪除jstl包。
 一勞永逸的解決方法就是不用jee5Liberabries,改用j2e4版的Librabriese1.
PS:如果是直接從eclipse裏刪除,要重新部署一下項目並重啓tomcat纔行。
以上轉載:http://zouhuajian01.blog.163.com/blog/static/117698772011316527903/
改用j2ee1.4版的Librabries.(Myeclipse)
左鍵點擊項目->Properties->Java Build Path ->Libraries下的jee5Liberabries刪除->點擊右邊Add Library ->MyEclipse Libraries->選中j2e4版的Librabriese1.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章