在尝试使用 IntelliJ Ultimate 12 构建项目时,我遇到了这些错误
use -source or higher to enable diamond operator
use -source 7 or higher to enable multi-catch statement
我在其他一些系统上使用了相同的代码和相同的 intelliJ Ultimate 12,它在那里工作正常。我想知道我需要在我的 IDE 中设置哪些配置来解决这些构建问题?
在尝试使用 IntelliJ Ultimate 12 构建项目时,我遇到了这些错误
use -source or higher to enable diamond operator
use -source 7 or higher to enable multi-catch statement
我在其他一些系统上使用了相同的代码和相同的 intelliJ Ultimate 12,它在那里工作正常。我想知道我需要在我的 IDE 中设置哪些配置来解决这些构建问题?
项目的语言级别在项目结构对话框中设置: 您要确保将语言级别设置为 java 7,并相应地设置 sdk
除了接受的答案之外,您可能还需要在 Project Structure > Modules > Sources 选项卡下更改语言级别。
我还需要将 IntelliJ IDEA > Preference > Compiler > Java Compiler 下 IDE 级别使用的 java 编译器从 1.6 更改为 1.7。设置的确切位置将根据您的操作系统和 IntelliJ IDEA 版本而有所不同。
对我来说,这是因为maven-compiler-plugin
's source
andtarget
设置为 1.6 而不是 1.7 in pom.xml
,将其更改为 1.7 解决了问题。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
我遇到了同样的问题并且正在苦苦挣扎。自动导入是真的,重新导入项目不起作用并尝试了所有可能的选项。但最后我找到了解决方案。
“重新导入所有 Maven 项目”对我有用。
您可以在 Maven 项目选项卡上找到该选项。
以上都不适合我。
我必须在我的 pom.xml 中显式添加以下插件语句:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
(好吧,当我单击红色帮助灯并选择“将项目 Java 级别设置为 7”时,IDEA 为我制作了它,所以如果这也不起作用,请尝试一下)。
如果使用 Gradle 作为构建自动化,请在 build.gradle 中设置以下设置并重新导入您的项目:
源兼容性 = 1.7
目标兼容性 = 1.7
对于 IntelliJ IDEA 社区 2018.2:
您也可以使用F4作为快捷方式来访问相同的菜单。