Hi, Last night I introduced by error a dependency requiring Java 6 in the archetype plugin whereas we are always supposed to support Java 5 (Yes we can :-) ) Myself I don't have anymore a Java 5 on my computer and I'm often using Java 7 by default and I'm probably not the only one. Even if we take care of dependencies releases notes and we are taking care of APIs we are using we may easily introduce some incompatibilities. Jenkins is configured to use Java 5 thus it detects such errors ( https://builds.apache.org/view/M-R/view/Maven/job/maven-archetype-m3/138/console) but myself I don't really succeed to follow its notifications because we have too many false positives. One think I'm doing at work that allows me to validate these stuffs locally is to use some enforcer rules (in a release profile) Bytecode version : http://mojo.codehaus.org/extra-enforcer-rules/enforceBytecodeVersion.html Animal Sniffer : http://mojo.codehaus.org/animal-sniffer/ They are configured with maven.compiler.target thus if a project changes this property value, our controls are automatically updated. Could it be useful to have that on our side ? In a parent pom ? Maybe it's just overkill/useless.
WDYT ? ----- Arnaud Héritier http://aheritier.net Mail/GTalk: aheritier AT gmail DOT com Twitter/Skype : aheritier