此规则强制执行某些 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规则