DependencyReducedPom
On Thursday, 4 December 2014, Mark Eggers <[email protected]>
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: [email protected] <javascript:;>
> For additional commands, e-mail: [email protected]
> <javascript:;>
>
>
--
Sent from my phone