The import javax.servlet.ReadListener cannot be resolved
原因:這是由於你的項目buildpath不對
解決方案:右鍵項目-------buildpath--------最下面那個configuration 的選擇libraries找到JRE(這個時候你會發現這個jre前面有!或者是紅X)選中remove掉重新為該項目選擇一個JRE選中項目,project----clean
java.lang.UnsupportedClassVersionError: Bad version number in .class file異常
部署工程時也出現過因為版本不同引起的問題,那時我們用的IDE的編譯器是JDK5.0,而那臺Linux裝的是JDK6.0,部署後發現很多功能都出錯,看來有些東西還是得註意一下啊。
在myEclipse中改變編譯器的方法:Project->Properties->Java Compiler->Configure Workspace Setting,在彈出的頁面中可以進行設置。
The import org.apache cannot be resolved
What IDE are you using? If it‘s eclipse, right click on the project -> Build Path -> Configure Build Path -> Libraries -> Add External Jar‘s
錯誤:
The import javax.servlet cannot be resolved
解決:
1、這是因為工程裏面web-inf/lib目錄下少了包:Package javax.servlet引起的;
(包的介紹可參見:http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/index.html)
2、在tomcat(本人的當前版本6.0.32)lib目錄servlet-api.jar,將其copy到工程裏面web-inf/lib目錄下;
Unable to read TLD “META-INF/c.tld” from JAR file的
刪除WEB-INF\lib\下的JSP-API.JAR . SERVLET-API.JAR,重啟問題解決,
原因:編譯打包時,java build path中沒有配置環境變量,WEB-INF\lib\下的這兩個包和tomcat中lib的jar包沖突的原因。
javax.servlet.jsp.PageContext cannot be resolved to a type
某個JSP內容如下,在Eclipse會出現JSP Problem如標題所示的javax.servlet.jsp.PageContext cannot be resolved to a type:
<%@ taglib uri="/WEB-INF/tld/jstl/c.tld" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
上網查詢,解決之道是把<c:set var="ctx" value="${pageContext.request.contextPath}"/>改為<c:set var="ctx" value="${pageContext.[‘request‘].contextPath}"/>,就不會出現這個problem,可是奇怪的是,之後再改回<c:set var="ctx" value="${pageContext.request.contextPath}"/>也沒再出現這個problem。Eclipse在 JSP的語法檢驗看來有未盡之處。
# re: javax.servlet.jsp.PageContext cannot be resolved to a type的解決之道 2009-06-02 11:32 路人甲
你沒從根本找問題.問題解決之道在於
將jsp-api.jar加入到類路徑.
jsp-api.jar位於tomcat-home/common/lib下
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/fmt"
1.WEB-INF/lib 中 jstl的jar包是否都有
2.tld文件是否在?
3.web.xml 中 jsp-config taglib是否做了定義?
<jsp-config> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt-rt.tld</taglib-location> </taglib> </jsp-config>
eclipse新導入的項目經常可以看到“XX cannot be resolved to a type”的報錯信息。本文將做以簡單總結。
(1)jdk不匹配(或不存在)
項目指定的jdk為“jdk1.6.0_18”,而當前eclipse使用的是“jdk1.6.0_22”。需要在BuildPath | Libraries,中做簡單調整。
(2)jar包缺失或沖突
當找不到“XX”所在的jar包時,會報這個錯。解決只需要找到(ctrl+點擊,可能能看到jar包名稱)對應jar包導入項目即可。
另外,出現相同的XX時也會報此錯。可能需要調包、解包、選刪。
(3)eclipse查找項目類型策略所致
eclipse下,上述兩條都對比過了,沒有任何問題,可偏偏還報這錯。這時,需要操作一下 Project | Clean... ,問題即可解決。原因是,機制所致。因為某些特殊原因,eclipse沒能自動編譯源代碼到build/classes(或其他classes目錄),導致類型查找不到。
編碼問題
以上這些是比較常見的錯誤,我這裏遇到的錯誤是文件編碼導致的!
錯誤類似下圖,這裏只截取一部分:
解決方法:
在發生錯誤的項目上單擊鼠標右鍵》Properties
左側選中“Resource”,右側Text file encoding選擇“Other:UTF-8”,點擊“Apply”按鈕。
The import javax.servlet.ReadListener cannot be resolved