I personally don't really like defining compile/runtime dependencies in parent poms (I'm ok with testing dependencies).
On Tue, Feb 11, 2014 at 12:43 PM, Daniel Kulp <[email protected]> wrote: > > While working with Art to figure out why his web console war was > significantly smaller than mine, we determined that it comes down to what > version of Maven you use to build. 3.0.5 includes more jars than 3.1.1. > Looking into it, it looks like 3.1.1 is using the parent poms "optional=true" > flags for the transitive dependencies whereas 3.0.5 is not. > > For example, in the parent pom, we have all the spring stuff (spring-core, > spring-context, spring-beans, spring-aop) as "optional=true". However, > in activemq-web, we set spring-web and spring-webmvc to optional=false. > With 3.0.5, the transitive dependencies of spring-webmvc/spring-web then also > get changed to optional=false. However, with 3.1.1, they don't. They remain > optional=true and thus don't get packaged into the war. > > For consistency sake, I'd like to get this fixed. Two options: > > 1) For all the transitive deps pulled in for activemq-web, > acttivemq-web-console, etc... add them directly to the deps in those poms > with a optional=false flag. > > 2) Remove the optional=true flag from the parent pom and add it into the > other poms where they truly are optional. Avoid the option=false construct. > > > Thoughts? I believe #2 would be more "maven standard". > > -- > Daniel Kulp > [email protected] - http://dankulp.com/blog > Talend Community Coder - http://coders.talend.com > -- Hiram Chirino Engineering | Red Hat, Inc. [email protected] | fusesource.com | redhat.com skype: hiramchirino | twitter: @hiramchirino
