我正在使用模式匹配开关编写一些 Java 代码,这需要在多个上下文(编译器、运行时、IDE)中设置
--enable-preview
。此时,除了其中一个之外,我已经完成了所有测试:单元测试。
我有这些在
pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>18</source>
<target>18</target>
<compilerArgs>--enable-preview</compilerArgs>
</configuration>
</plugin>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
并且 Maven 成功启用了编译器预览,但没有启用单元测试。如何为 junit 启用它?
首先,您应该将插件版本升级到最新版本 3.12.1 以及 maven-surefire-plugin (3.2.3):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<compilerArg>--enable-preview</compilerArg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--enable-preview</argLine>
</configuration>
</plugin>
更新
maven-compiler-plugin 的配置可以像这样简化:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<enablePreview>true</enablePreview>
</configuration>
</plugin>
检查当前可用的插件版本: