~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ------ Require Java Version ------ Brian Fox ------ Mar 2007 ------ Require Java Version This rule enforces certain Java JDK versions. The rule uses the {{{versionRanges.html}Enforcer version range syntax}} to define allowed versions. The following parameters are supported by this rule: * {{{../apidocs/org/apache/maven/plugin/enforcer/AbstractVersionEnforcer.html#version}version}} - {{{versionRanges.html}range}} of allowed JDKs. [] The JDK version is retrieved and the following processing occurs before being checked: [[1]] Drop all non-numeric characters preceeding the first number. (build 1.5.0_07-b03 becomes 1.5.0_07-b03) [[2]] Replace all '_' and '-' with '.' (1.5.0_07-b03 becomes 1.5.0.07.b03) [[3]] Remove all non digit characters "[^0-9] and convert each section using Integer.parseInt() (1.5.0_07-b03 becomes 1.5.0.7.3) [[3]] Split the string on '.' and take the first 3 sections, separated by '.' and add '-' followed by the forth section (1.5.0.7.3 becomes 1.5.0-7) [] This preprocessing normalizes various JDK version strings into a standard x.y.z-b version number. Your required range should therefore use the x.y.z-b format for comparison. There is an easy way to see how your current JDK string will be normalized: +---+ mvn enforcer:display-info ... [enforcer:display-info] Maven Version: 2.0.6 JDK Version: 1.5.0_11 normalized as: 1.5.0-11 OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1 +---+ Sample Plugin Configuration: +---+ [...] org.apache.maven.plugins maven-enforcer-plugin enforce-java enforce-once 1.5.0 [...] +---+