Java- 此语言级别不支持菱形类型
2022-09-02 00:20:32
我刚刚开始研究一个Java项目,并使用IntelliJ从GitHub下载了源代码 - 我以前从未使用过IntelliJ,但被告知它是一个比Eclipse更好的IDE(这是我上次进行任何Java开发时使用的 - 大约四年前)。
当我尝试在我的计算机上本地构建源代码时,从GitHub中提取了最新的工作版本,我在几行不同的代码上遇到了编译错误 - 错误说:
错误:(27, 34) java: -source 1.5 中不支持菱形运算符(使用 -source 7 或更高版本启用菱形运算符)
出现这些编译错误的行是这样的行:
return new ArrayList<>(0);
如果我选择该行,并在错误上执行,它会显示一条消息,指出我可以Alt + Enter
“将语言级别设置为 7 - 菱形、ARM、多缓存等”
但是,如果我选择此选项,则不会发生任何事情...
在文件中,有以下 xml:pom.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>
但是当我查找此错误时,我遇到了以下答案:Diamond类型在此语言级别不受支持,这表明我应该使用maven1.7或更高版本 - 并且似乎该项目已经在使用版本1.8,所以我不明白为什么我会收到这个编译错误...
有人有什么建议吗?