一尘不染

javac:source release 1.7需要targetrelease1.7

java

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

我该如何纠正?

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

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


阅读 394

收藏
2020-03-01

共1个答案

一尘不染

你很可能在这里从Maven导入了不正确的编译器选项:

编译器选项

还要检查屏幕快照中概述的项目和模块字节码(目标)版本设置。

配置了源语言级别的其他位置:

项目结构 项目

项目结构 模块(检查每个模块)| 资料来源

Maven的默认语言级别是1.5(5.0),你将在上面的屏幕截图中将此版本视为模块语言级别。

可以使用里面的maven-compiler-plugin配置来更改pom.xml

<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>

要么

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

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

2020-03-01