I am using maven to build an ear file with two EJBs and a few web applications. I'd like to use skinny wars, because more wars are likely to follow.
As I understood, the following will remove all *.jar files (except ejb jars) from the WEB-INF/lib directory of all war files:
<dependencies>
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<!-- Scope: Provided for skinnies. -->
<dependency>
<groupId>my.domain</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<type>pom</type>
</dependency>
</dependencies>
[..]
<configuration>
<version>7</version>
<defaultLitBundleDir>lib/</defaultLitBundleDir>
<skinnyWars>true</skinnyWars>
[..]
The problem I have is that will obviously also remove all webjars. Webjars are web libraries (css, JS, etc.) which are packaged inside jar files like this:
With any Servlet 3 compatible container, the WebJars that are in the WEB-INF/lib directory are automatically made available as static resources. This works because anything in a META-INF/resources directory in a JAR in WEB-INF/lib is automatically exposed as a static resource.
Source: http://www.webjars.org/documentation#servlet3
I really like this idea. So now, when all jars are moved to myear!/lib/webjar, the containing files are not exposed anymore. :-(
I haven't found an option for skinnyWars to NOT exclude certain libraries (like org.webjars::).
If there is another solution, I'd love to see your input.