41

在尝试使用 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 中设置哪些配置来解决这些构建问题?

4

7 回答 7

49

项目的语言级别在项目结构对话框中设置: 项目结构对话框 您要确保将语言级别设置为 java 7,并相应地设置 sdk

于 2013-02-02T07:50:57.693 回答
34

除了接受的答案之外,您可能还需要在 Project Structure > Modules > Sources 选项卡下更改语言级别。

我还需要将 IntelliJ IDEA > Preference > Compiler > Java Compiler 下 IDE 级别使用的 java 编译器从 1.6 更改为 1.7。设置的确切位置将根据您的操作系统和 IntelliJ IDEA 版本而有所不同。

于 2014-10-01T20:02:02.487 回答
12

对我来说,这是因为maven-compiler-plugin's sourceandtarget设置为 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>
于 2015-03-03T08:57:33.337 回答
4

我遇到了同样的问题并且正在苦苦挣扎。自动导入是真的,重新导入项目不起作用并尝试了所有可能的选项。但最后我找到了解决方案。

“重新导入所有 Maven 项目”对我有用。
您可以在 Maven 项目选项卡上找到该选项。


在此处输入图像描述

于 2014-09-05T15:04:33.267 回答
4

以上都不适合我。

我必须在我的 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 为我制作了它,所以如果这也不起作用,请尝试一下)。

于 2016-02-19T18:49:48.557 回答
2

如果使用 Gradle 作为构建自动化,请在 build.gradle 中设置以下设置并重新导入您的项目:

源兼容性 = 1.7

目标兼容性 = 1.7

于 2016-05-07T04:03:42.173 回答
0

对于 IntelliJ IDEA 社区 2018.2:

  • 在项目工具窗口中,右键单击项目名称以进入项目结构菜单。
  • 语言级别设置为您想要的任何版本,然后再次重建项目。

您也可以使用F4作为快捷方式来访问相同的菜单。

于 2018-09-11T09:19:41.853 回答