Hi Arnaud! I think I found one BIG problem with your workaround: it only works if you already have (the latest version of) your WAR's pom.xml file in the repository, otherwise maven 2.0.9 reports a missing dependency.
So this approach is not useable with the maven-release-plugin :-( I made up a simple test project consisting of a parent and three modules: myJar, myWar, and myEar. myEar depends on myWar and myWar depends on myJar. With your approach and an empty repository the build fails due to a missing myWar:pom dependency. As I think this list doesn't allow attachments I've made the sample available at http://www.xss.co.at/~martin/tmp/m2-skinny-war-demo.tar.bz2 A 'mvn package' fails, while a 'mvn install' succeeds. Any comments? - martin On Tuesday 03 June 2008 Arnaud HERITIER wrote: > Hi all, > > I would like to share with you a workaround I found for the problem of > transitive dependencies in skinny wars. > In the documentation it is said that : > "Now the painful part. Your EAR's <<<pom.xml>>> needs to list every > dependency that the WAR has. > This is because Maven assumes fat WARs and does not include transitive > dependencies > of WARs within the EAR." > > A workaround of this is to define for each war 2 dependencies. One for > the war itself and another for the war's pom to retrieve transitive > dependencies. > With that you'll have something like that in your ear dependencies : > > <dependencies> > <dependency> > <groupId>com.acme</groupId> > <artifactId>war1</artifactId> > <version>1.0.0</version> > <type>war</type> > </dependency> > <dependency> > <groupId>com.acme</groupId> > <artifactId>war1</artifactId> > <version>1.0.0</version> > <type>pom</type> > </dependency> > </dependencies> > > I'm using maven 2.0.9. > > I'll do more tests tomorrow and I'll update the doc : > http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.htm >l > > Cheers > > arnaud
signature.asc
Description: This is a digitally signed message part.
