更新到JDK8后,JSP中出现编译错误:“java.lang.CharSequence类型无法解析”

我最近将我的JDK版本更新为8.我有一段代码如下:

StringBuilder abc = new StringBuilder(); abc.append("123"); 

当我运行它时,它抛出错误:

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

我已经更新了JDK的所有依赖项,但注意到了帮助。

我昨天刚刚受苦。 这是因为你的服务器(tomcat,我猜?)不支持Java 8(对于你的版本)。

众所周知,tomcat6和tomcat7的第一个版本不支持Java 8 。 您必须更新服务器或使用Java 7将其编译回来。

从我下面的参考文献中, Brett Bryan说:

我可以确认apache-tomcat-7.0.35不支持JDK8,我也可以确认apache-tomcat-7.0.50是否支持JDK8。

参考: 无法为JSP编译类:类型java.util.Map $ Entry无法解析。 它是从所需的.class文件间接引用的

我在Java升级到v1.8时遇到了类似的问题。 此问题是由于使用较低版本的servlet api(<3.0)。

解决方案:1:将Java 8降级为Java v7或2:将servlet api版本升级到3.0或更高版本。