DependencyReducedPom On Thursday, 4 December 2014, Mark Eggers <its_toas...@yahoo.com.invalid> wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Folks, > > I admit it, I'm a bit confused (and relatively new to maven). > > Goal: > > To release a WAR file with a minimal number of JAR files in WEB-INF/lib. > > Thought: > > 1. Break up the WAR project into a WAR module and a JAR module > 2. Make the WAR module be dependent on the JAR module > 3. Use the Maven shade plugin in the JAR module to create a shaded JAR > 4. Drive the entire project with an agregator pom.xml > > The JAR module does shade properly, creating a single JAR with all of > the dependencies bundled into a single JAR. It uses a pom dependency > to gather in most of its requirements. None of the JAR or pom > dependencies have further dependencies, so the resulting JAR is > self-contained. > > However, when I build the WAR file and reference the shaded JAR file > as a dependency, I do not get the shaded JAR file in WEB-INF/lib. > Instead, I get all of the dependencies as individual JAR files in > WEB-INF/lib. > > I'm using the following environment (can post my complete pom.xml > files if needed). > > OS: Fedora Linux 64 bit - latest updates > JDK: 1.7.0_72 64 bit > Maven: 3.2.3 > > maven-shade-plugin: 2.3 > maven-war-plugin: 2.4 > > shade configuration and dependencies for > org.mdeggers:IFCResources:1.0-SNAPSHOT > > <properties> > <calhost.version>1.0-SNAPSHOT</calhost.version> > <ihomeresources.version>1.0-SNAPSHOT</ihomeresources.version> > </properties> > > <dependencies> > <dependency> > <groupId>org.mdeggers</groupId> > <artifactId>Calhost</artifactId> > <version>${calhost.version}</version> > </dependency> > <dependency> > <groupId>org.mdeggers</groupId> > <artifactId>IHomeResources</artifactId> > <version>${ihomeresources.version}</version> > <type>pom</type> > </dependency> > </dependencies> > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-shade-plugin</artifactId> > <version>2.3</version> > <executions> > <execution> > <id>combine</id> > <phase>package</phase> > <goals> > <goal>shade</goal> > </goals> > <configuration> > <artifactSet> > <includes> > <include>org.mdeggers:*</include> > </includes> > </artifactSet> > </configuration> > </execution> > </executions> > </plugin> > > Partial dependencies for org.mdeggers:iforeclosure:1.0-SNAPSHOT:war > > <dependencies> > <dependency> > <groupId>org.mdeggers</groupId> > <artifactId>IFCResources</artifactId> > <version>1.0-SNAPSHOT</version> > </dependency> > </dependencies> > > Parent pom modules section: > > <modules> > <module>IFCResources</module> > <module>iforeclosure</module> > </modules> > > I'm obviously missing something here. Thoughts, corrections, pointers > are all appreciated. > > I know, using a shaded JAR as a dependency is probably not best > practice. However, the resulting WAR file is an end product and the > shaded JAR only contains internal components from other web overlays > used to build the final war. > > . . . just my (confused) 2 cents > /mde/ > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBAgAGBQJUgO5LAAoJEEFGbsYNeTwt9YgIAKLuOll7rpDRI4Ea3ieshWgY > HugkUrvaja1UZdKkFm0bdo4qQxUUmKHL9byHTQzPiLb6+WKeXaaQaMDvhA0DgbAp > tJQ+4WKEPBzKx5MUvftY2oEiW8eVEnMIkZ6qLA0aPKxrenodlekz3eKlxJ/D8kxF > dqf5UvncIYGNlzbThVlFaOpmp7FgF6dStrBDPuyGdhcLWpb4UkI/sVqo92/copnY > tMR2uX9/Uscn+11pXlcTTg+YfGGwlguZIEkSBRlUBiAYMwiDG0fyDqRaVcv18BtS > /iLB6hlB8xNkRArvIpDV+h7W2sHK6jekjzfCU80ZO72ZSgsiYUKMqWlY04GlPTU= > =jCy7 > -----END PGP SIGNATURE----- > > --- > This email is free from viruses and malware because avast! Antivirus > protection is active. > http://www.avast.com > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org <javascript:;> > For additional commands, e-mail: users-h...@maven.apache.org > <javascript:;> > > -- Sent from my phone