我使用的是JDK 1.8.0。当我将代码导入Eclipse时,我收到错误:
源级别1.7不允许使用'<>'运算符
示例:
List<String[]> errors = new ArrayList<>();
我正在使用 Eclipse Kepler 。
答案 0 :(得分:6)
有时我看到Eclipse对Java目标版本感到困惑,并抛出不正确的消息(即使项目设置正确以支持Java 7)。最简单的解决方法是更改目标版本,然后将其更改回预期的目标版本。
可以通过打开“项目属性”对话框(右键单击项目,然后选择Properties
)来检查此版本,并检查两个选项卡上的设置:
Java Compiler
选项卡:检查是否有任何特定设置,例如始终使用JDK版本等。默认情况下,此处的所有设置都设置为“使用执行环境中的合规性'JavaSE-1.x' 'Java构建路径'。“ (其中x是Java版本)。如果在此处选择了特定的Java版本(Java 7之前版本),则选择您要定位的版本,然后就可以完成了。如果设置了前面提到的复选框,则按照步骤2进行操作。Java build path
标签:转到库,并相应地编辑JRE系统库。同样,如果两个设置看起来都正确,请更改后者,重建项目(例如关闭对话框),然后将其更改回来并重建。
备注:如果您使用的是Maven / Gradle项目,则可能需要在Maven / Gradle配置中编辑这些设置。
答案 1 :(得分:1)
将其添加到<project>
下面的pom.xml。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
最有可能的是将项目的JDK版本设置为1.5的默认Eclipse Maven配置 - 天知道原因。这将把它设置为1.8。
答案 2 :(得分:1)
在Eclipse中,需要将“编译器符合级别”的值更新为1.7或更高。步骤如下:
答案 3 :(得分:0)
升级到Eclipse Mars或最新版Neon:
答案 4 :(得分:0)
在pom(行家)部分中插入8有助于解决我的问题。
答案 5 :(得分:-2)
请尝试以下操作:
List<String[]> errors = new ArrayList();
OR,
List<String[]> errors = new ArrayList<String[]>();
或者,在Eclipse中将项目编译器合规性级别更改为1.7或更高。