我的主要源代码是java版本7
我想在测试中使用java8,所以我更新了编译器插件
<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>
这样我就可以在单元测试中使用java 8的特性。当我从命令行使用maven运行测试时,这工作得很好。
但是当我直接从Intellij运行测试时,它抛出错误,说'Lambda表达式在源代码7中不受支持'
看起来它使用相同的源版本进行测试。
如何配置Intellij使用不同的Java版本进行测试
2条答案
按热度按时间tyu7yeag1#
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集成中得到支持<->:
k5ifujac2#
自IntelliJ IDEA 2022.1起,可以在Maven项目中使用不同的JDK版本运行测试