You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Mario Däpp (JIRA)" <ji...@codehaus.org> on 2014/04/03 20:37:59 UTC

[jira] (MEAR-148) In an ear which has skinny wars, want to include the same jar in shared lib of ear as well as in the war

    [ https://jira.codehaus.org/browse/MEAR-148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=344112#comment-344112 ] 

Mario Däpp commented on MEAR-148:
---------------------------------

You could use the dependencies-plugin to workaround this issue:
1. Change the scope of the dependency to provided (the dependency will remain in the WAR as a result of this)
2. Add this to your pom.xml
{code:xml}
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <includeScope>provided</includeScope>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/lib</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>
{code}

> In an ear which has skinny wars, want to include the same jar in shared lib of ear as well as in the war
> --------------------------------------------------------------------------------------------------------
>
>                 Key: MEAR-148
>                 URL: https://jira.codehaus.org/browse/MEAR-148
>             Project: Maven Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.7
>            Reporter: Tejas Pajai
>
> I have the following artifacts
> MyWar1.war depends on MyJar.jar and SomeThirdParty.jar
> MyWar2.war depends on MyJar.jar
> MyJar.jar also depends on SomeThirdParty.jar
> Now I want to create an ear with MyWar1 and MyWar2, and I want to make them skinny wars so that MyJar.jar should not be included in both the wars.
> For some reason, the SomeThirdParty.jar has to be in the WEB-INF/lib directory of MyWar1.war
> Here is the structure I want:
> {noformat}
> MyEar.ear
> - lib
>     - MyJar.jar
>     - SomeThirdParty.jar
> - MyWar1.war
>     - WEB-INF/lib/SomeThirdParty.jar
> - MyWar1.war
> {noformat} 
> *As you can see, I want the SomeThirdParty.jar in MyWar1 as well as in the lib directory.*
> *Is there any way to achieve it if I am using <skinnyWars>true</skinnyWars>?*
> If not, we should have some way of doing this, maybe by supporting nested <dependencies> in the <webmodule> tag which would override the skinnyWars behavior for the listed dependencies like
> {noformat}
> <webModule>
>   <groupId>my.groupId</groupId>
>   <artifactId>my.artifactId</artifactId>
>   <dependencies>
>     <dependency>
>       <groupId>SomeThirdParty.jar.groupId</groupId>
>       <artifactId>SomeThirdParty.jar</artifactId>
>       <version>SomeThirdParty.jar.version</version>
>     </dependency>
>   </dependencies>
> </webModule>
> {noformat} 



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)