我的主要源码是java版本7。
我想在我的测试中使用java 8。因此,我将编译器插件更新为
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.8.1</version>
   <configuration>
      <source>7</source>
      <target>7</target>
      <testSource>8</testSource>
      <testTarget>8</testTarget>
   </configuration>
</plugin>这样我就可以在单元测试中使用java8的特性了。当我在命令行中使用maven运行测试时,这个方法运行得很好。
但是当我直接从intellij运行测试时,它抛出错误,说‘源7不支持lambda表达式’。
看起来它使用相同的源代码版本进行测试。
如何配置Intellij以使用不同的java版本进行测试
发布于 2020-09-24 18:55:01
在IntelliJ IDEA中还不支持在Maven项目中通过另一个Java解释器运行测试。以下是该功能的功能请求:
https://youtrack.jetbrains.com/issue/IDEA-85478
请随时投票并关注它的更新。
其中一个用户(单独的Maven配置文件)描述了一种解决方法:https://youtrack.jetbrains.com/issue/IDEA-85478#focus=Comments-27-1994481.0-0
顺便说一下,这在Gradle<->IntelliJ IDEA集成中得到了支持:
compileTestJava {
    sourceCompatibility = "1.8"
}https://stackoverflow.com/questions/64044759
复制相似问题