On Sat, Jan 26, 2013 at 12:10 AM, Joachim Durchholz <j...@durchholz.org>wrote:

> E.g.
>
>   <properties>
>     <maven.compiler.source>1.7</**maven.compiler.source>
>     <maven.compiler.target>1.7</**maven.compiler.target>
>   </properties>
>
> vs.
>
>   <build>
>     <plugins>
>       <plugin>
>         <groupId>org.apache.maven.**plugins</groupId>
>         <artifactId>maven-compiler-**plugin</artifactId>
>         <version>3.0</version>
>         <configuration>
>           <source>1.7</source>
>           <target>1.7</target>
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
>

Properties in cases where you want to easily vary things from the command
line; configuration where you want to lock it down.  Obviously the other
considerations (like profiles) are worth considering as well.

I've found just for reducing the boilerplate that I err on the side of
properties for simple "no, dammit, I don't want source to be 1.3"
settings--if I'm not concerned with multiple executions, etc.

One thing I've never been clear on is the override mechanisms: if I have a
super pom with <properties> in it, a sub pom with <properties> in it that
has some overrides in it, and a command line property, I would hope that
the command line stomps on both the sub and super pom property values in
question.  I haven't sat down and rigorously tested this.

Best,
Laird

-- 
http://about.me/lairdnelson

Reply via email to