I have a similar configuration in my project.
It is an EAR project with lots of WARs on their own. The goal was to provide a
way to be able to debug/develop the WARs standalone e.g. via mvn tomcat7:run.
In this situation you need all your dependencies (even platform JARs like
openwebbeans, myfaces and openjpa) in your WEB-INF/lib folder. But those libs
should not get packaged when building the final EAR.
I ended up with an own 'ear' profile with has war-excludes set:
ear
org.apache.maven.plugins
maven-war-plugin
${war.excludes}
the war.excludes properties is maintained in a central location. Please note
that the war.excludes contains a list of file names and not packages.
E.g. WEB-INF/lib/openwebbeans-*,WEB-INF/lib/myfaces-api-*, ...
LieGrue,
strub
>
> From: Vincent Latombe
>To: Maven Users List
>Sent: Friday, September 28, 2012 6:27 PM
>Subject: Re: How to exclude transitive dependencies from war?
>
>Hello,
>
>I believe there is now a skinny war option in the ear plugin that could
>help you to handle this case. I never used it so I cannot really tell you
>more about it.
>
>Another option would be to have 2 profiles to build your war. One with all
>dependencies provided by the ear marked as provided, and another one with
>the same dependencies with compile/runtime scope.
>
>Again another option would be to exclude dependencies at package time (in
>the war plugin configuration)
>
>Hope this helps,
>
>Vincent
>Le 17 sept. 2012 21:10, "David Hoffer" a écrit :
>
>> I need to package a war so that it can be optionally included in a ear
>> deployment, put I can't just mark the ear level dependencies as
>> provided because I do need the full war doing development work and
>> running GWT hosted mode.
>>
>> I've followed this link
>>
>> http://maven.apache.org/plugins/maven-war-plugin/examples/war-manifest-guide.html
>> regarding how to set the dependency as optional, which seems like it
>> might be the right solution, as I want the full war in the current
>> project but when used as an ear dependency I want it to exclude a
>> dependency (and all its transitive dependencies).
>>
>> However its not working that way...if I set the artifact via:
>>
>>
>> com.foo
>> bar
>> compile
>> true
>>
>>
>> It removes just the artifact bar from the war but leaves in the war
>> all it's transitive dependencies, which is not expected. How can I
>> also exclude it's transitive dependencies? This point is key as the
>> logic provided by the ear is significant and probably has 100 or more
>> jars...no way to know what they all are and that can change too.
>>
>> -Dave
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>>
>>
>
>
>
-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org