Diamond操作符()在java 1.7中不起作用

编译jsp文件时出现以下错误:

源级别低于1.7的“”运算符不允许

我正在使用jdk 1.7.x和eclipse Kepler我还在Eclipse中的项目首选项中将1.7 as compliance level设置1.7 as compliance level ,但代码仍无法正常工作

我应该添加任何其他配置吗?

检查Eclipse中的以下区域:

  1. Right Click Project > Properties > Project Facets > Java > Version 1.7

  2. Right Click Project > Properties > Java Build Path > Libraries > JRE Library should be 1.7

  3. Right Click Project > Properties > Java Compiler > Compiler compliance level

  4. Window > Preferences > Server > Runtime Environment > Select the Server > Edit > Ensure JRE is set to 1.7

因此,现在看来唯一的方法是您的应用程序服务器,例如tomcat配置为低于1.7的jdk版本。 检查系统上JAVA_HOME环境变量指向的java版本。如果你纠正了它,它应该解决你的问题。

我知道自从这个post最后一次活动已经超过2年了,但是如果有人正在寻找答案并且上面的检查没有解决它:这是因为你的tomcat运行的编译器早于1.7。 解决此问题的一种方法是将其添加到tomcat / conf / web.xml:

  jsp org.apache.jasper.servlet.JspServlet  fork false   xpoweredBy false    compilerSourceVM 1.7   compilerTargetVM 1.7   3  

资源