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