maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Bentmann (JIRA)" <j...@codehaus.org>
Subject [jira] Closed: (MNG-3555) transitive dependency exclusion fails when classifier specified
Date Tue, 05 Jan 2010 17:58:55 GMT

     [ http://jira.codehaus.org/browse/MNG-3555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Benjamin Bentmann closed MNG-3555.
----------------------------------

       Resolution: Not A Bug
    Fix Version/s:     (was: 3.0-alpha-7)
         Assignee: Benjamin Bentmann

bq. Note the "rmi" dependency in the main dependencies section with the "provided" scope.
Also note the "client" profile.

This is misconfiguration/misunderstanding. The relevant snippet from the effective POM when
the profile "client" is activated:
{code:xml}
<dependencies>
  ...
  <dependency>
    <groupId>ca.athabascau.banner.oros</groupId>
    <artifactId>rmi</artifactId>
    <version>1.1.23-SNAPSHOT</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>ca.athabascau.banner.oros</groupId>
    <artifactId>rmi</artifactId>
    <version>1.1.23-SNAPSHOT</version>
    <classifier>client</classifier>
    <scope>compile</scope>
    <exclusions>
      <exclusion>
        <artifactId>moneris-test</artifactId>
        <groupId>ca.athabascau</groupId>
      </exclusion>
      ...
  </dependency>
</dependencies>
{code}
i.e. the WAR project has two dependencies, one on {{ca.athabascau.banner.oros:rmi:1.1.23-SNAPSHOT:client}}
and one on {{ca.athabascau.banner.oros:rmi:1.1.23-SNAPSHOT}} which are considered two different/distinct
dependencies due to the classifier. And the exclusions defined on one dependency are only
applied to this dependency. I.e. while the transitive dependencies of {{ca.athabascau.banner.oros:rmi:1.1.23-SNAPSHOT:client}}
are excluded, those of {{ca.athabascau.banner.oros:rmi:1.1.23-SNAPSHOT}} are not.

So, simply define the exclusions on the main dependency as well.

> transitive dependency exclusion fails when classifier specified
> ---------------------------------------------------------------
>
>                 Key: MNG-3555
>                 URL: http://jira.codehaus.org/browse/MNG-3555
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 2.0.9
>         Environment: Gentoo linux
>            Reporter: Trenton
>            Assignee: Benjamin Bentmann
>            Priority: Blocker
>         Attachments: pom.xml
>
>
> I have a profile like the one below.  When I enable that profile, maven refuses to exclude
the dependencies as specified, unless I remove the classifier.  This is basically preventing
us from using maven.  We will have to stick with ant until this is resolved.
> A little bit of background.  We have an rmi module and a web module.  This profile is
in the web module pom.  The rmi project creates two different types of jars.  One is the rmi
server jar, the other the rmi client jar.  In the case of the rmi server jar, all the dependencies
would be required.  And, we allow the rmi server to be run in process (under tomcat).  In
a case like that, we require all the dependencies.  But, when running in standard RMI mode,
and using the client jar, we do not need all those dependencies, nor do we want them to be
there.
> {code:xml}
> <profile>
>   <!-- use full rmi when doing development, even if inproc server -->
>   <id>client</id>
>   <build>
>     <resources>
>       <!-- Copy configurations over to webapp folder -->
>       <resource>
>         <filtering>true</filtering>
>         <directory>${basedir}/src/main/resources</directory>
>         <excludes>  <!-- Don't need these in production -->
>           <exclude>server.properties</exclude>
>           <exclude>response_codes.properties</exclude>
>         </excludes>
>       </resource>
>     </resources>
>   </build>
>   <dependencies>
>     <dependency>
>       <groupId>ca.athabascau.banner.oros</groupId>
>       <artifactId>rmi</artifactId>
>       <version>1.1.23-SNAPSHOT</version>
>       <scope>compile</scope>
>       <classifier>client</classifier>
>       <exclusions>
>         <exclusion>
>           <groupId>ca.athabascau</groupId>
>           <artifactId>moneris-test</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>com.oracle.ojdbc</groupId>
>           <artifactId>ojdbc14</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>com.novell</groupId>
>           <artifactId>java-ldap</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>commons-dbcp</groupId>
>           <artifactId>commons-dbcp</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>commons-collections</groupId>
>           <artifactId>commons-collections</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>commons-pool</groupId>
>           <artifactId>commons-pool</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>cas</groupId>
>           <artifactId>casclient</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>xerces</groupId>
>           <artifactId>xercesImpl</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>oro</groupId>
>           <artifactId>oro</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>xml-apis</groupId>
>           <artifactId>xml-apis</artifactId>
>         </exclusion>
>         <exclusion>
>           <groupId>javax.activation</groupId>
>           <artifactId>activation</artifactId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>   </dependencies>
> </profile>
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message