How to Package Skinny war with Plain maven-war-plugin
Join the DZone community and get the full member experience.
Join For FreeIf you are not using maven EAR plugin, then you can also use plain maven-war-plugin to package a Skinny war package like this:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <!-- We want to package skinny war to avoid third party jars --> <packagingExcludes> WEB-INF/lib/*.jar </packagingExcludes> <archiveClasses>true</archiveClasses> </configuration> </plugin>
However, if you ran into the problem I described in last post, then you want a Skinny war, but still want to include the jar it produced from your own web project. In this case, you can try this:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <!-- We want to package skinny war to avoid third party jars, but we do want the classes from this project to be included --> <packagingExcludes> %regex[WEB-INF/lib/(?!my-project-artifact-name-.*\.jar).*\.jar] </packagingExcludes> <archiveClasses>true</archiveClasses> </configuration> </plugin>
The plugin would accept a REGEX expression for exclusion as well, but getting it to work might take you a few tries! If you need more than this, try this online Java REGEX testing tool:http://www.regexplanet.com/advanced/java/index.html
Published at DZone with permission of Zemian Deng, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
Generics in Java and Their Implementation
-
Demystifying SPF Record Limitations
-
How AI Will Change Agile Project Management
-
How to LINQ Between Java and SQL With JPAStreamer
Comments