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

Java- Diamond types are not supported at this language level

我刚刚开始从事 Java 项目,并使用 IntelliJ 从 GitHub 下载了源代码 - 我以前从未使用过 IntelliJ,但被告知这是一个非常IDE 比 Eclipse 更好用(这是我上次进行 Java 开发时使用的 Eclipse——大约四年前)。

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

Error:(27, 34) java: diamond operator is not supported in -source 1.5 (use -source 7 or higher to enable diamond operator)

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

return new ArrayList<>(0);

如果我 select 该行,并对错误执行 Alt + Enter,它会显示一条消息,说明我可以

"Set language level to 7- Diamonds, ARM, Multi-cache, etc"

但是,如果我 select 这个选项,没有任何反应...

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>

但是当我查看这个错误时,我在 找到了答案,这表明我应该使用 maven1.7 或更高版本 - 并且该项目似乎已经在使用 1.8 版,所以我不明白为什么会出现此编译错误...

有人有什么建议吗?

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

这里可以设置项目的语言级别。

将以下代码添加到您的 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>