此规则强制执行某些 Java JDK 版本。该规则使用Enforcer 版本范围语法来定义允许的版本。
此规则支持以下参数:
检索JDK版本并在检查之前进行以下处理:
此预处理将各种 JDK 版本字符串规范化为标准 xyz-b 版本号。因此,您所需的范围应使用 xyz-b 格式进行比较。有一种简单的方法可以查看您当前的 JDK 字符串将如何被规范化:
mvn enforcer:display-info ... [enforcer:display-info] Maven Version: 2.0.8 JDK Version: 1.5.0_11 normalized as: 1.5.0-11 OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1
示例插件配置:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.6.0</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
如果您想为 JDK 强制执行某个供应商字符串,您将使用RequireJavaVendor规则