尽管pom.xml明确将源设置为7

时间:2015-12-14 17:03:33

标签: java intellij-idea

我在Intellij(14.1.4旗舰版)开设了一个maven项目,并且JDK未被识别。当试图运行其中一个程序时,会发生以下错误 - 在任何情况下,当在IDE中查看时,文件中都有一堆“红色”:

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

这很奇怪,因为正常的设置适用于使用java7:

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>

在项目中 - JDK级别设置为7:

enter image description here

同样在模块中:

enter image description here

但是我们在尝试编译时会遇到各种各样的问题(即使在重新导入maven项目之后):

enter image description here

注意:此项目使用maven在命令行上构建/运行。

另请注意:我已经尝试过吹走Intellij项目并从头开始重建。行为没有变化。

更新以下是来自@Peter Lawrey的以下(已接受)回答的结果。我们可以看到jdk被神秘地设置为1.5。我手动将其更新为1.7。

enter image description here

1 个答案:

答案 0 :(得分:4)

虽然我不知道为什么,但有时IntelliJ会感到困惑。您需要的设置是

File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler

找到您的模块并将其更改为1.7版而不是1.5版。

我有许多模块的项目和相同的父pom设置这个,有时只有其中一个模块认为它是1.5,其余的是1.8。即多个模块中的相同配置。