在Intellij Idea中,如何使用与源java版本不同的java版本运行测试

在Intellij Idea中,如何使用与源java版本不同的java版本运行测试,java,intellij-idea,Java,Intellij Idea,我的主要来源是java版本7 我想从测试中使用Java8。因此,我将编译器插件更新为 org.apache.maven.plugins maven编译器插件 3.8.1 7. 7. 8. 8. 这样我就可以在单元测试中使用Java8特性。当我从命令行使用maven运行测试时,这工作得很好 但是当我直接从intellij运行测试时,它抛出错误,说“源代码7中不支持lambda表达式” 看起来它使用相同的源版本进行测试 如何配置Intellij以使用不同的java版本进行测试Intellij I

我的主要来源是java版本7

我想从测试中使用Java8。因此,我将编译器插件更新为


org.apache.maven.plugins
maven编译器插件
3.8.1
7.
7.
8.
8.
这样我就可以在单元测试中使用Java8特性。当我从命令行使用maven运行测试时,这工作得很好

但是当我直接从intellij运行测试时,它抛出错误,说“源代码7中不支持lambda表达式”

看起来它使用相同的源版本进行测试


如何配置Intellij以使用不同的java版本进行测试

Intellij IDEA还不支持通过Maven项目中的另一个java解释器运行测试。以下是该功能的功能请求:

您可以自由投票并关注更新

其中一个用户(单独的Maven配置文件)描述了一种变通方法:

顺便说一下,GradleIntelliJ IDEA集成支持这一点:

compileTestJava {
    sourceCompatibility = "1.8"
}

为什么要保留java 7并使用lambda的?java 7用于src/main/java,java 8来自src/test/java8这如何回答我的问题?为什么要在Java7项目中使用lambda?想用lambda的吗?只是更新java版本。如果我不清楚,很抱歉。如果你读了这篇文章的答案,你可能会明白我想做什么。希望在生产代码中使用Java7,在测试代码中使用Java8