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

我该如何纠正呢?

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

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


当前回答

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

12 129.961

其他回答

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

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

IntelliJ 15, 2016 & 2017

类似于下面讨论的IntelliJ 13和14,但在设置/首选项面板中有一个额外的级别:设置>构建,执行,部署>编译> Java编译器。

IntelliJ 13和14

在IntelliJ 13和14中,检查Settings > Compiler > Java Compiler UI,以确保在模块中没有针对不同的字节码版本。

在IntelliJ IDEA 14.1中,“目标字节码版本”位于不同的位置。

以下的改变对我来说是有效的:

文件>设置…>构建、执行、部署>编译器> Java编译器:将目标字节码版本从1.5更改为1.8

很可能你从Maven导入了错误的编译器选项:

还要检查截图中列出的项目和模块字节码(目标)版本设置。

其他配置源语言级别的地方:

项目结构|项目

|模块(检查每个模块)|来源

Maven默认的语言级别是1.5(5.0),你会在上面的屏幕截图中看到这个版本为Module语言级别。

这可以在pom.xml中使用maven-compiler-plugin配置来更改:

<project>
  [...]
  <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>
  [...]
</project>

or

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

在Maven项目工具窗口中重新导入Maven项目后,IntelliJ IDEA将尊重此设置:

修改下面路径下项目的编译器设置文件,将'target'改为1.7:

/项目/ .idea / compiler.xml

<bytecodeTargetLevel>
  <module name="project-name" target="1.7" />
</bytecodeTargetLevel>