I have numerous EJBs, with each EJB named "Foo" associated to the generated "Foo-client-fooversion.jar" artifact (thanks to ejb:client). I had to merge these client jar into only one 'client-all" jar. I did the following :
1) create a new POM file referencing all the jars you need to merge as dependencies. I named it "make-client.xml". 2) add this to your maven.xml : <!-- Make a global client jar --> <goal name="clientejb-all"> <delete dir="target/client-all" /> <mkdir dir="target/client-all" /> <!-- Unjar each dep to our working dir --> <j:forEach var="lib" items="${pom.artifacts}"> <unjar dest="target/client-all" src="${lib.path}"/> </j:forEach> <!-- Jar it up --> <jar basedir="target/client-all" jarfile="${maven.build.dir}/${maven.final.name}.jar" /> <delete dir="target/client-all" /> </goal> 3) launch "maven -p make-client.xml clientejb-all Now you have in your target directory a jar which is the merge result of all your dependencies. The jar name is the "id" given in make-client.xml. Hope this helps :) Serge -----Original Message----- From: Brett Porter <[EMAIL PROTECTED]> Subject: Jar which includes other Date: Fri, 26 Sep 2003 08:39:01 +1000 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C383B5.D0B814F0" Take a look at the uberjar plugin. - Brett > -----Original Message----- > From: Brent Hale [mailto:[EMAIL PROTECTED] > Sent: Friday, 26 September 2003 1:53 AM > To: Maven Users List > Subject: Re: Jar which includes other > > > I don't if this is the BEST way, but here's something I do > that works. > > <postGoal name="jar:jar"> > <attainGoal name="mergejars"/> > </postGoal> > > <goal > name="mergejars" > description="Merges the subproject's jar into this main one."> > > <!-- Use Ant's zip feature to merge the created jar with the > schema jar --> > <ant:zip destfile="${maven.build.dir}/combined.jar" > duplicate="preserve"> > <zipgroupfileset dir="${maven.build.dir}" > includes="${maven.final.name}.jar"/> > <zipgroupfileset dir="qbxmlschema/target" > includes="*.jar"/> > </ant:zip> > > <!-- Rename the combined.jar as the real one. --> > <move file="${maven.build.dir}/combined.jar" > tofile="${maven.build.dir}/${maven.final.name}.jar"/> > </goal> > > > This shows how to merge two jars into one. > > Brent > > > > [EMAIL PROTECTED] wrote: > > >I don't know if it is possible : > > > >I have some sub project which produce jars. This jars are dependant > >each > >other. > >I want to define an other sub project who include the other > projects jars > >to build one unique jar. > > > >Nicolas > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- > Brent Hale > Fishbowl Inventory > www.fishbowlinventory.com > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]