更新到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或更高版本。