源级别1.7不允许修复'<>'运算符

时间:2016-10-24 12:06:13

标签: java eclipse

我使用的是JDK 1.8.0。当我将代码导入Eclipse时,我收到错误:

  源级别1.7不允许使用

'<>'运算符

示例:

List<String[]> errors = new ArrayList<>();

我正在使用 Eclipse Kepler

6 个答案:

答案 0 :(得分:6)

有时我看到Eclipse对Java目标版本感到困惑,并抛出不正确的消息(即使项目设置正确以支持Java 7)。最简单的解决方法是更改​​目标版本,然后将其更改回预期的目标版本。

可以通过打开“项目属性”对话框(右键单击项目,然后选择Properties)来检查此版本,并检查两个选项卡上的设置:

  1. Java Compiler选项卡:检查是否有任何特定设置,例如始终使用JDK版本等。默认情况下,此处的所有设置都设置为“使用执行环境中的合规性'JavaSE-1.x' 'Java构建路径'。“ (其中x是Java版本)。如果在此处选择了特定的Java版本(Java 7之前版本),则选择您要定位的版本,然后就可以完成了。如果设置了前面提到的复选框,则按照步骤2进行操作。
  2. Java build path标签:转到库,并相应地编辑JRE系统库。
  3. 同样,如果两个设置看起来都正确,请更改后者,重建项目(例如关闭对话框),然后将其更改回来并重建。

    备注:如果您使用的是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或更高。步骤如下:

  1. 在eclipse中打开项目
  2. 右键单击“项目”,然后转到“属性”
  3. 在“属性”面板中:单击左侧的“ Java编译器”,然后从下拉列表中将“编译器遵从性级别”的值更新为1.7或更高。
  4. 单击“应用”,然后单击“确定”按钮 enter image description here

答案 3 :(得分:0)

升级到Eclipse Mars或最新版Neon:

https://www.eclipse.org/downloads/

答案 4 :(得分:0)

在pom(行家)部分中插入8有助于解决我的问题。

答案 5 :(得分:-2)

请尝试以下操作:

List<String[]> errors = new ArrayList();

OR,

List<String[]> errors = new ArrayList<String[]>();

或者,在Eclipse中将项目编译器合规性级别更改为1.7或更高。