JSP-BUG-The type java.xx.xx cannot be resolved

报错内容形式多为:

The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

错误解决方法总结:

1、这个错误在JDK8出现的时候反映的人最多,当时(2014、2015)提供的方式大都是退回JDK7就好了。

  评价:确实行之有效,但是到现在为止JDK8已经出现这么长时间,如果遇到这个问题还是降级的话未免有些太过于low了。

2、还有的网上给出的解决办法是:
  It means: "A class that you use needs an other class that is not on the classpath." You should make sure to add the required jar to the classpath.

  翻译:把需要的jar包,追加到classpath里就行

  评价:本人对于javaweb开发不是太熟悉,这个给的解决办法对自己没有太多的实用性,我只是在JSP页面第一行import一个java.util.*而已,我自己也莫不清楚会用到什么jar包。有的人讲,可以用ctrl+鼠标点击,有时候会定位到对应jar包的位置。

3、更换更高级的IDE。

  eclipse 官网提示:eclipse直到4.3.2 版本才完全对JDK8支持,contain full support for Java™ 8. For Kepler SR2 (4.3.2) ,可以下载新版本的eclipse使用。

  评价:现在大家日常使用的IDE,无论是eclipse还是myeclipse版本都相对较新,大都已经完全支持JDK8了,这个解决办法几乎没什么用处了。

4、检查:项目设置中的installed jres是否是对应的版本。

  选中项目-》右键-》java build path ->找到jre system library -》选择edit-》进入界面选择alternate jre ->在后面的installed jres..里选择jdk1.8的目录上的jre -》ok 之后,应用。

5、检查:软件默认的JDK环境已经改成自己配置的JDK8的版本。

  单击--> windows --> preferences --> java --> installed jre ,查看默认的JDK8是否配置正确。
6、也有的是JSP中有中文,编码方式不对导致的。
  在项目上右击 --> properties --> resource --> 右侧 text file encoding 改成other UTF-8。
 
 
  当你不选择JDK降级为7的时候,上述问题解决方法不一定能解决你的问题。这时候不要心急,不要气馁。将你的IDE关闭一下,再打开,这时候你会发现一件很神奇的事情,这个项目好了,貌似还是“无缘无故”的好的。
 
  这个肯定不是无缘无故好的,但是本人真的不清楚是什么原因,只是碰到过很多次这样的情况:昨天的毕设还好好的,今天打开就一排的红叉号,整半天,查半天也好不了,导入别人的项目别人的配置也不行,关了电脑出去玩了一圈,回来它竟然OK了。
原文地址:https://www.cnblogs.com/zdtiio/p/6019549.html