我正在尝试在Eclipse Neon中设置一个Jetty Webapp项目,并收到以下错误:
Generated servlet error: The type java.lang.CharSequence cannot be resolved
基于this related post和其他一些人,我被引导相信这是由Java 7和Java 8之间的版本不匹配引起的。该项目也可以在其他机器上正常运行,这也意味着问题与我的配置有关。链接帖子的已接受答案是回滚到Java 7,或者将项目的源级别更改为8.回滚到7不是我的选项,因为该项目使用了Java 8功能。
我很确定我已经为Java 8设置了所有东西,但我在Eclipse中并不是真正的经验,所以可能会有一个设置我缺失。我已经设定了:
在Eclipse
- > Preferences
- > Java
- > Compiler
- > Compiler compliance level
:1.8
- > Project
- > Preferences
- > Java Compiler
:1.8
在Compiler compliance level
- > Project
- > Preferences
- > Java Build Path
Libraries
为JRE System Library
1.8.0_77
中的 - > Run
- > Run Configurations
:
Jetty Webapp
为Jetty Version
Jetty 7.6.8v20121106
为JRE
我还清理,重建,删除并重新导入了项目,然后重新启动了Eclipse。
我是否还缺少可能仍设置为Java 7的设置? 或者是否有其他原因导致我收到此错误?
完整的错误消息是:
Project JRE (1.8.0_77)
此外,有问题的一行是:
org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP||PWC6197: An error occurred at line: 17 in the jsp file: /WEB-INF/jsp/dashboard/showfilters.jsp|PWC6199: Generated servlet error:|The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files||PWC6197: An error occurred at line: 17 in the jsp file: /WEB-INF/jsp/dashboard/showfilters.jsp|PWC6199: Generated servlet error:|The method replace(char, char) in the type String is not applicable for the arguments (String, String)||
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:123)