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

时间:2015-05-25 19:09:26

标签: java jsp tomcat java-8

我最近将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的所有依赖项,但注意到了帮助。

2 个答案:

答案 0 :(得分:3)

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

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

根据我在下面留下的参考文献,Brett Bryan说:

  

我可以确认apache-tomcat-7.0.35没有支持   JDK8,我也可以确认apache-tomcat-7.0.50是否有支持   对于JDK8。

参考:Unable to compile class for JSP: The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files

答案 1 :(得分:0)

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

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