That makes two of us Dhruva. Seriously guys thanks a lot. Great help.

On Feb 8, 2008 9:46 PM, Dhruva Reddy <[EMAIL PROTECTED]> wrote:

> This really clears things up--many thanks!
>
>
> --
> Dhruva B. Reddy
> Senior Associate of Technology, Level 2 | Sapient
>
> 25 1st Street
> Cambridge, MA, 02141, USA
> desk: +1 617 452 1900
> fax: +1 617 621 1300
>
> www.sapient.com
>
> -----Original Message-----
> From: John Casey [mailto:[EMAIL PROTECTED]
> Sent: Thursday, 07 February 2008 17:01
> To: Maven Users List
> Subject: Re: Maven Concepts
>
> You've got it exactly right.
>
> Maven builds are usually oriented around the concept of a lifecycle,
> which consists of phases in a specific order. Each phase has zero or
> more mojos (usually called goals) bound to it. Each phase in the
> lifecycle implies all of the phases that come before it. This allows
> users to bind (or configure) different goals to different phases of
> the build, then the standard phase names to run the build. The
> default goals for a given type of project are also bound to the
> lifecycle in this way, but behind the scenes, such that the user can
> supplement these default goals using configurations in the pom.xml.
>
> So, if you have a jar project (<packaging>jar</packaging>), you might
> have something like this:
>
> Phase                 Goals
> --------                 -----------
>
> validate            (none)
> initialize           (none)
> ...
> compile            org.apache.maven.plugins:maven-compiler-
> plugin:compile
> ...
> test                    org.apache.maven.plugins:maven-surefire-
> plugin:test
> ...
> package          org.apache.maven.plugins:maven-jar-plugin:jar
> ...
> install               org.apache.maven.plugins:maven-install-
> plugin:install
> ...
> etc.
>
> Now, if you just want to compile your project, you simply call the
> 'compile' phase, like this:
>
> mvn compile
>
> If you want to run the unit tests, call this:
>
> mvn test
>
> Note that in order to run unit tests, you must have compiled your
> project's main sources. That's handled here, since the test phase is
> later in the lifecycle than the compile phase...'test' implies
> 'compile' and all the other phases (in order) that come before 'test'.
>
> On the other hand, Maven also supports certain one-off goals that are
> usually meant to help manage the project build in certain special
> cases, or give information about the build. One such example gives
> you a glimpse of the POM after all inheritance and profile injection
> has been completed:
>
> mvn help:effective-pom
>
> which is shorthand for:
>
> mvn org.apache.maven.plugins:maven-help-plugin:effective-pom
>
>
> Hope that helps,
>
> -john
>
> On Feb 7, 2008, at 4:50 PM, Dhruva Reddy wrote:
>
> > I know this seems like a silly thing to post on here, but...
> >
> > What exactly is a goal and what is a phase?  I can't find a good
> > answer in the documentation and there's a lot of seemingly
> > conflicting information out there.
> >
> > My current understanding is that a phase is a part of a lifecycle
> > (process-resources, compile, etc).  A goal is somewhat analogous to
> > an ANT-task, but with a focus on what should happen, rather than
> > how it is done.
> >
> > Can someone clear this up for me, giving examples?
> >
> > Thanks,
> > Dhruva
>
> ---
> John Casey
> Committer and PMC Member, Apache Maven
> mail: jdcasey at commonjava dot org
> blog: http://www.ejlife.net/blogs/john
> rss: http://feeds.feedburner.com/ejlife/john
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to