我刚刚开始研究Java项目,并且已经使用IntelliJ从GitHub下载了源代码 - 我以前从未使用过IntelliJ,但是我被告知它比Eclipse更好用IDE(这是什么当我上次做任何Java开发时 - 大约四年前我正在使用。)
当我尝试在我的计算机上本地构建源代码时,从GitHub中提取了最新的工作版本,我在几行不同的代码上遇到编译错误 - 错误说:
错误:(27,34)java:在-source 1.5中不支持菱形运算符(使用-source 7或更高版本来启用菱形运算符)
以及出现这些编译错误的行是:
return new ArrayList<>(0);
如果我选择该行,并对错误执行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>
但是当我看到这个错误时,我在Diamond type are not supported at this language level看到了答案,表明我应该使用maven1.7或更高版本,而且项目似乎已经在使用1.8版,所以我不明白为什么我得到这个编译错误...
有人有任何建议吗?
答案 0 :(得分:18)
将以下代码添加到 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>
答案 1 :(得分:5)