此语言级别不支持Java- Diamond类型

Nob*_*fer 13 java version intellij-idea diamond-operator maven

我刚刚开始研究Java项目,并且已经使用IntelliJ从GitHub下载了源代码 - 我之前从未使用过IntelliJ,但是我被告知它比Eclipse更好用(我正在使用它)当我上次做任何Java开发时 - 大约四年前).

当我尝试在我的计算机上本地构建源代码时,从GitHub中提取了最新的工作版本,我在几个不同的代码行上得到了编译错误 - 错误说:

错误:(27,34)java:在-source 1.5中不支持菱形运算符(使用-source 7或更高版本来启用菱形运算符)

以及出现这些编译错误的行是:

return new ArrayList<>(0);
Run Code Online (Sandbox Code Playgroud)

如果我选择该行,并对Alt + Enter错误执行操作,则会显示一条消息,指出我可以

"将语言级别设置为7-钻石,ARM,多缓存等"

但是,如果我选择此选项,则没有任何反应......

在该pom.xml文件中,有以下xml:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>${maven-source-plugin.version}</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是当我看到这个错误时,我遇到了答案:在这个语言级别不支持Diamond类型,这表明我应该使用maven1.7或更高版本,并且看起来该项目已经在使用版本1.8,所以我不明白为什么我得到这个编译错误...

有人有什么建议吗?

小智 28

将以下代码添加到pom.xml文件中.

<!-- maven-compiler-plugin -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
Run Code Online (Sandbox Code Playgroud)


DrL*_*k10 6

File->Project StructureCtrl+ Alt+ Shift+ s)下有一个名为的部分Project Settings,并且Project

您可以在此处设置项目语言级别。 在此处输入图片说明

  • 感谢您的回答。我只是尝试将其设置为7,单击“应用”,然后单击“确定”,然后再次尝试构建项目,但是在控制台中出现了相同的错误:`Error:(27,34)java:Diamond operator not not -source 1.5中受支持(使用-source 7或更高版本以启用菱形运算符) (2认同)