天天看點

java.lang.NoClassDefFoundError:TagSupport

java.lang.NoClassDefFoundError:TagSupport java.lang.ClassCastException: org.apache.struts.taglib.bean.CookieTei cannot be cast to javax.servlet.jsp.tagext.TagExtraInfo

這個錯誤應該就是沒有成功加載tomcat自帶的jar包jsp-api.jar。

在網上看到很多網友說要把tomcat/lib下的jsp-api.jar拷貝到項目/WEB_INF/lib下并導入,本人試了一下這是有問題的,這樣雖然在啟動tomcat的時候不會報錯了但是在運作程式(比如打開網頁)的時候就會報錯,因為jar包沖突了。

解決辦法:

  1.引用jsp-api.jar

    項目右鍵-->properties-->java Build Path-->Libraries-->add External JREs-->tomcat下的jsp-api.jar

  2.直接整體加入tomcat的jar包

    項目右鍵-->properties-->java Build Path-->Libraries-->Add library-->Server Runtime-->Apache Tomcat xx

注意:當你已經引用了tomcat/lib下的jsp-api.jar,在運作程式的時候如果報一下錯誤

java.lang.ClassCastException: org.apache.struts.taglib.bean.CookieTei cannot be cast to javax.servlet.jsp.tagext.TagExtraInfo

需要去你釋出的項目下:也就是/tomcat xxx/webapps/項目名/WEB-INF/lib下去删除jsp-api.jar,然後重新開機tomcat。