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

koaltpgm  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(132)

我的主要源代码是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版本进行测试

tyu7yeag

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集成中得到支持<->:

compileTestJava {
    sourceCompatibility = "1.8"
}
k5ifujac

k5ifujac2#

自IntelliJ IDEA 2022.1起,可以在Maven项目中使用不同的JDK版本运行测试

相关问题