IntelliJ 不接受 Java8 和 List/Map 末尾的菱形

IntelliJ won't accept Java8 and diamonds at the end of List/Map

我使用的是最新的 JDK,从项目创建到现在所有内容都设置为 Java8 或 SDK 8。

仍然,intelliJ 给我这个问题:

红色的lamp告诉我改成Java7。

这是我的项目设置:

这是模块部分:

如你所见;我在报错的时候特意把SDK默认的改成了java8,但是没有结果。

编译器设置如下所示:

我在 macbook 上,intelliJ 是社区版本。有谁知道为什么会这样以及我如何解决它?

尝试 运行 项目,如果这是您的错误消息:

然后我建议您稍微查看一下您的 pom-文件。

此项目是使用 intelliJ maven 项目设置构建的,缺少这行可爱的代码:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

IntelliJ 不会(至少在我的情况下)在 pom 中生成版本(尽管我为它选择了所有设置)。

我也试过在插件中指定编译器版本,但没有用。您是否尝试过使缓存无效?它是 File -> Invalidate Caches/Restart...。我可能也会重新开始,以备不时之需。