---- 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.

Regards,
Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to