[ 
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

        

Reply via email to