Martin Höller wrote:
> 
> Am Mittwoch, 7. Juli 2010 01:19:16 schrieb asookazian:
> [...]
>> This is one area where Ant is much more flexible than Maven (or at least
>> it's easier to customize invocations of targets in Ant than it is with
>> goals in Maven's lifecycle phases)...
> 
> Why don't you stick with Ant then?
> 
> From your previous mails it seems to me like you are trying to use Maven
> like 
> you did with Ant. Maven is not Ant! If you want to use Maven, use it the 
> Maven way or you won't benefit from it at all. Start with reading a good 
> Maven book like "Maven - The Definitve Guide" [0] from Sonatype (which
> seems 
> is now split into two books).
> 
> hth,
> - martin
> 
> [0] http://www.sonatype.com/products/maven/documentation/book-defguide
> 
>  
> 

1) I *must* use Maven for work project.  And currently we're stuck with
2.0.8 (we have no in-house Maven experts to help us upgrade to 2.2.x or
3.0).

2) I have read a couple books on Maven including the O'Reilly book (which is
pretty decent btw).  Maven is so complex that it takes months of hands-on
experience to master in terms of adding modules/POMs, adding profiles,
creating plugins/MOJOs, creating a custom lifecycle, setting up CI (e.g.
Continuum) and Nexus repo, understanding (transitive) dependency management,
learning/using m2e in Eclipse WTP envmt, etc.

3) There is an example of hooking into Maven lifecycle/builds from Ant
build.xml script in the JBoss Weld (CDI RI) distro:

<target name="package">
      <maven target="install" basedir="${basedir}">
         <arg line="-f ${pom.file}" />
      </maven>
   </target>

<macrodef name="maven">
      <attribute name="target" />
      <attribute name="basedir" />
      <element name="args" implicit="true" optional="true" />
      <sequential>
         <java classname="org.codehaus.classworlds.Launcher" fork="true"
dir="@{basedir}" failonerror="true">
            <classpath>
               <fileset dir="${maven.dir}/boot">
                  <include name="*.jar" />
               </fileset>
               <fileset dir="${maven.dir}/bin">
                  <include name="*.*" />
               </fileset>
            </classpath>
            <sysproperty key="classworlds.conf"
value="${maven.dir}/bin/m2.conf" />
            <sysproperty key="maven.home" value="${maven.dir}" />
            <args />
            <arg line="@{target}" />
         </java>
      </sequential>
   </macrodef>

This is what I based my build.xml off of.

4) Maven should be able to accommodate an exploded WAR and EAR without
having to package the WAR and then unexplode it.  And I should not have to
use a plugin like jboss-maven-plugin unpack goal to achieve this (which
explodes the EAR but not the WAR).  I understand that the install lifecycle
phase will ultimately install the EAR into a local Maven repo, but what if I
don't necessarily need that to happen for my local dev builds on my dev box?

In the
http://svn.apache.org/repos/asf/maven/maven-2/tags/maven-2.2.0/maven-core/src/main/resources/META-INF/plexus/components.xml
file I see the following:

<!-- START SNIPPET: war-lifecycle -->
            <phases>
             
<process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
             
<compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
              <process-test-resources>
               
org.apache.maven.plugins:maven-resources-plugin:testResources
              </process-test-resources>
             
<test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
             
<test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
             
<package>org.apache.maven.plugins:maven-war-plugin:war</package>
             
<install>org.apache.maven.plugins:maven-install-plugin:install</install>
             
<deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
            </phases>
            <!-- END SNIPPET: war-lifecycle -->

What exactly is 'war' or 'install' above?  Is that referring to a Maven
plugin (e.g. maven-war-plugin and maven-install-plugin)? or a specific goal
(e.g. war:war)?  Maybe I can write a custom lifecycle which uses
war:exploded instead...

-- 
View this message in context: 
http://maven.40175.n5.nabble.com/Maven-3-explode-goal-tp946368p1044748.html
Sent from the Maven - Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to