2011-11-05 42 views
1

我跟着this link指導安裝JSTL,但我得到了下面的錯誤,當我嘗試啓動我的JSP頁面:java.lang.NoClassDefFoundError:使用javax/servlet的/ JSP/tagext/TagLibraryValidator

java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator

的taglib聲明是:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

我在Tomcat的webapps /WEB-INF/lib下安裝JSTL 1.1,並試圖做同樣的在我的項目,但沒有奏效。我也試過JSTL的1.2版本,但仍然是同樣的消息。這是如何造成的,我該如何解決這個問題?

回答

3

javax.servlet.jsp.tagext.TagLibraryValidator類是在JSP 2.0中引入的。此錯誤可能因此具有以下可能的原因:

  • 您沒有運行與JSP 2.0兼容的serlvetcontainer。例如,Tomcat 4.x或5.0。您至少需要Tomcat 5.5或更高版本,6.0或更高版本,7.0。只是最新版本。

  • 您已經堆滿了/WEB-INF/lib與任意下載jsp-api.jarj2ee.jar文件或任何含有JSP API,它從一個完全不同的servletcontainer化妝/版本,這反過來實際上不是JSP 2.0兼容的起源。擺脫那些圖書館。你不需要它們。如果你這樣做解決了編譯錯誤,那麼你做錯了。它們應該以編譯時類路徑結束,而不是在運行時類路徑中。另請參見How do I import the javax.servlet API in my Eclipse project?

+0

像魔力一樣工作感謝您的幫助 – user1031152

+0

不客氣。 – BalusC

相關問題