当使用IntelliJ IDEA运行JUnit测试时,我得到

我该如何纠正呢?

使用SDK 1.7 模块语言级别为1.7

Maven构建工作正常。(这就是为什么我在IDEA配置问题上相信这一点)


当前回答

如果它是一个Gradle项目,在你的构建中。Gradle文件,搜索以下设置:

sourceCompatibility = "xx"
targetCompatibility = "xx"

对于根构建中的所有子项目。Gradle文件,你可以放:

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

虽然你可以在Idea >设置中手动设置语言级别,但如果它是一个Gradle项目,Idea会自动从Gradle设置中同步模块。iml文件(用Idea 15+测试)。因此,当gradle刷新时,所有手动更改都会被覆盖。

根据Gradle文档,如果没有设置这些,则使用当前的JVM配置。

其他回答

我通过将字段设置为空白来解决这个问题:

设置> Compiler > Java Compiler >项目字节码版本

Than IntelliJ使用JDK默认版本。

从这一刻到另一刻,我也得到了这个错误,没有明确的原因。我改变了编译器/模块等的各种设置。但最后,我只是通过重新导入Maven项目重新创建了IntelliJ项目,问题就解决了。我觉得这是个漏洞。

12 129.961

如果它是一个Gradle项目,在你的构建中。Gradle文件,搜索以下设置:

sourceCompatibility = "xx"
targetCompatibility = "xx"

对于根构建中的所有子项目。Gradle文件,你可以放:

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

虽然你可以在Idea >设置中手动设置语言级别,但如果它是一个Gradle项目,Idea会自动从Gradle设置中同步模块。iml文件(用Idea 15+测试)。因此,当gradle刷新时,所有手动更改都会被覆盖。

根据Gradle文档,如果没有设置这些,则使用当前的JVM配置。

从IntelliJ IDEA 14升级到v14.1后,我就遇到了这个问题。 对我来说,更改top/parent pom的编辑有帮助,然后单击重新导入Maven(如果它不是自动的)。

但它可能只够右键单击模块(s)/聚合/父模块和Maven ->重新导入。

您需要在构建配置中更改Java编译器版本。