You could exclude activation all the time and then add the dependency back
in if not doing Java6.

-- Lee

On Feb 5, 2008 11:02 AM, Simon Kitching <[EMAIL PROTECTED]> wrote:

> ---- Simon Kitching <[EMAIL PROTECTED]> schrieb:
> > ---- Doug Donohoe <[EMAIL PROTECTED]> schrieb:
> > > Hi Maven Community:
> > >
> > > I have added this dependency in my POM:
> > >
> > >   <dependency>
> > >     <groupId>javax.mail</groupId>
> > >     <artifactId>mail</artifactId>
> > >     <version>1.4.1</version>
> > >   </dependency>
> > >
> > > Which is retrieved from java.net using this POM definition:
> > >
> > >   <repositories>
> > >     <repository>
> > >       <id>java.net</id>
> > >       <url>http://download.java.net/maven/1</url>
> > >       <layout>legacy</layout>
> > >     </repository>
> > >   </repositories>
> > >
> > > The POM for javax.mail declares a dependency on the Java activation
> > > framework.  However, I am using Java 6 (1.6.0_02), which already
> > > includes the activation framework.
> > >
> > > My question:  Is there a way in maven to conditionally define a
> > > dependency based on the JDK you are using?
> > >
> > > If there is, what is the best way for me to use such a mechanism.
> > > Ideally, the POM at java.net would be updated, but assuming I can't
> > > figure out how to get them to update that, how do I override there
> POM?
> > >
> >
> > Try defining a profile called "java6" in your pom. Set its activation
> section so it only activates for java1.6. Then in the profile define that
> problem dependency with scope=provided.
> >
> > I think that will do the job. Dependencies declared directly in a pom
> always override those pulled in transiently. That definitely occurs for
> version-numbers, and I *think* it works for scope too.
>
> Umm..except that what you probably are asking for is a way to *exclude*
> the dependency rather than just have scope=provided.
>
> Dependencies can be excluded easily enough:
>  <dependency>
>   <groupId>javax.mail</groupId>
>   <artifactId>mail</artifactId>
>   <version>1.4.1</version>
>   <excludes>
>     ... (see documentation) ...
>   </excludes>
>  </dependency>
>
> I don't know of any way of declaring "global" exclusions (eg from within a
> profile); in fact I'm pretty sure that is a feature request already filed
> for Maven.
>
> So I think you would have to put this complete block above in the java6
> profile section.
>
> Regards,
> Simon
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
-- Lee Meador
Sent from gmail. My real email address is lee AT leemeador.com

Reply via email to