the only possible suggestion is to set JAVA_VERSION environment variable to
whatever_it_is..(probably implement this in .profile for login..?)
and then test it thru a Character Data script i.e.
<profiles>
<profile>
<activation>
<jdk>
<![CDATA[
${env.JAVA_VERSION} < 6]]>
</jdk>
</activation>
</profile>
</profiles>
Anyone else?
M-
----- Original Message -----
From: "Stephen Connolly" <[EMAIL PROTECTED]>
To: "Maven Users List" <[email protected]>
Sent: Tuesday, February 05, 2008 4:12 PM
Subject: Re: javax.mail and javax.activation in Java 6
> And you know what, Google _Is_ Your Friend:
>
> http://maven.apache.org/guides/introduction/introduction-to-profiles.html
>
> The follwing configuration will trigger the profile when the JDK's version
> starts with "1.4" (eg. "1.4.0_08", "1.4.2_07", "1.4"):
>
> <profiles>
> <profile>
> <activation>
> <jdk>1.4</jdk>
> </activation>
> ...
> </profile>
> </profiles>
>
> So if you are using generics (i.e. don't have to worry about jdk 1.4) you
> just have the profile to add the dependency back in activated by <jdk>1.5
> </jdk>
>
> if you have to worry about 1.4, you'll need two profiles... and if, God
> forbid you need to worry about 1.3, three profiles all adding it back in
>
> On Feb 5, 2008 9:09 PM, Stephen Connolly <[EMAIL PROTECTED]>
> wrote:
> > profile activation based on jvm... i'll do a quick GIYF
> >
> >
> > On Feb 5, 2008 8:53 PM, Martin Gainty <[EMAIL PROTECTED]> wrote:
> > > I'll ask the dumb question..how do you do test the JVM version with
> maven?
> > >
> > > ?
> > > M-
> > > ----- Original Message -----
> > > From: "Stephen Connolly" <[EMAIL PROTECTED]>
> > > To: "Maven Users List" <[email protected]>
> > >
> > > Sent: Tuesday, February 05, 2008 3:30 PM
> > > Subject: Re: javax.mail and javax.activation in Java 6
> > >
> > >
> > > > Nooooooo!
> > > >
> > > > don't go abusing the system path for that
> > > >
> > > > Go with the exclude by default and add back in if jvm is < 6
> > > >
> > > > On Feb 5, 2008 7:49 PM, J Douglas Donohoe <[EMAIL PROTECTED]> wrote:
> > > > > Thanks for the suggestion. That led me down the right path. It
> looks
> > > like the 'system' scope is more appropriate because in this case, the
> > > classes are part of the rt.jar. I used the following profile:
> > > > >
> > > > > <profiles>
> > > > > <profile>
> > > > > <id>Java 1.6</id>
> > > > > <activation>
> > > > > <jdk>1.6</jdk>
> > > > > </activation>
> > > > > <dependencies>
> > > > > <dependency>
> > > > > <groupId>javax.activation</groupId>
> > > > > <artifactId>activation</artifactId>
> > > > > <version>1.1</version>
> > > > > <scope>system</scope>
> > > > > <systemPath>${java.home}/lib/rt.jar</systemPath>
> > > > > </dependency>
> > > > > </dependencies>
> > > > > </profile>
> > > > > </profiles>
> > > > >
> > > > > To verify this worked, I used the following command:
> > > > >
> > > > > $ mvn dependency:build-classpath
> > > > >
> > > > > The javax.activation jar no longer appears on the classpath, but
> rt.jar
> > > now appears (presumably because this plugin defaults to the build
> > > classpath).
> > > > >
> > > > > If I do:
> > > > >
> > > > > $ mvn dependency:build-classpath -DexcludeScope=system
> > > > >
> > > > > Then I get the classpath I want.
> > > > >
> > > > > Thanks for your help.
> > > > >
> > > > > One question on the use of 'system path' in dependency. Why is
this
> > > necessary at all? If it is part of the system, doesn't javac and/or
> java
> > > know where to find it by default?
> > > > >
> > > > > -Doug
> > > > >
> > > > > *Note: I'm not sure the system path above will work quite right
on
> a
> > > Mac. It depends on how Apple decides to package things when they
> release
> > > 1.6.
> > > > >
> > > > >
> > > > > ----- Original Message ----
> > > > > From: Simon Kitching <[EMAIL PROTECTED]>
> > > > > To: Maven Users List <[email protected]>
> > > > > Cc: Doug Donohoe <[EMAIL PROTECTED]>
> > > > > Sent: Tuesday, February 5, 2008 10:57:05 AM
> > > > > Subject: Re: javax.mail and javax.activation in Java 6
> > > > >
> > > > >
> > > > > ---- 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]
> > > >
> > > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]