On Wed, Jun 13, 2012 at 08:43:17AM -0700, Bruno P. Kinoshita wrote: > I agree with James, Jenkins is a great choice for such tasks. > > That's what I do when I want to test a project with a different JVM, but have > no time to set up Jenkins jobs. > > $ export JAVA_HOME=/opt/java/ibm... > $ mvn clean test install
OK. That's the answer to my question. The corollary is that I wasn't sure that the "JAVA_HOME" setting would take precedence over anything specified in the "pom.xml" and/or "settings.xml". Do you confirm that if I set JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 maven will use all the executables that are locate under /usr/lib/jvm/java-7-openjdk-amd64/bin and nothing else? Thanks, Gilles > Just my 0.02 cents :-) > > Cheers > > > Bruno P. Kinoshita > http://kinoshita.eti.br > http://tupilabs.com > > > ----- Original Message ----- > > From: James Carman <ja...@carmanconsulting.com> > > To: Commons Developers List <dev@commons.apache.org> > > Cc: > > Sent: Wednesday, 13 June 2012 11:53 AM > > Subject: Re: [Math] How to select a specific JDK ? > > > > You'd be better off using something like Jenkins for this. You could > > set up different jobs to run your builds under different conditions > > (windoze vs. linux, jdk7 vs. jdk6, etc.) > > > > > > On Wed, Jun 13, 2012 at 10:47 AM, Gilles Sadowski > > <gil...@harfang.homelinux.org> wrote: > >> On Wed, Jun 13, 2012 at 03:05:13PM +0200, Xavier Detant wrote: > >>> The byte code generated by the compiler is totally independent from the > > JVM > >>> that will be used to run it. > >> > >> Totally independent? Compiling with 1.7 and running with 1.6 will raise > > this > >> error: > >> Unsupported major.minor version 51.0 > >> > >>> So I think the point is not «How to compile > >>> using the right JDK?» but «How to run with using the right JVM?» Am I > >>> wrong? > >> > >> It is both: compiling _and_ running the tests. > >> > >> I should be able to do all combinations, i.e.: > >> 1. Compile with javac 1.6 and run with java 1.6 > >> 2. Compile with javac 1.7 and run with java 1.7 > >> 3. Compile with javac 1.6 and run with java 1.7 > >> (and similarly with s/6/5/) > >> > >>> If so, this can't be done at compile time, so it can't be done > > via > >>> maven, unless you use antrun maven's plugin to create a ant task to > > launch > >>> your program. > >> > >> The point is to compile and then _run_ the unit tests, assuming that the > >> code conforms to the syntax of Java 5, Java 6, and Java 7, respectively. > >> > >> In particular, if some source code is Java 5, it should be compatible with > >> more recent versions of the Java language, thus be compilable with more > >> recent implementations of javac. > >> The ultimate goal is to check that the unit tests pass independently of > >>the > >> javac and java versions. > >> > >> > >> Best regards, > >> Gilles > >> > >>> > >>> 2012/6/13 Gilles Sadowski <gil...@harfang.homelinux.org> > >>> > >>> > Hello. > >>> > > >>> > > > >>> > > With maven, you can configure the compiler to compile in the > > version you > >>> > > want. > >>> > > > >>> > > Add this to the pom.xml and set the arguments as you which. > >>> > > > >>> > > <build> > >>> > > <pluginManagement> > >>> > > <plugin> > >>> > > > > <groupId>org.apache.maven.plugins</groupId> > >>> > > > > <artifactId>maven-compiler-plugin</artifactId> > >>> > > <version>2.4</version> > >>> > > <configuration> > >>> > > > > <encoding>UTF-8</encoding> > >>> > > <source>1.6</source> > >>> > > <target>1.6</target> > >>> > > <compilerArguments> > >>> > > <Xlint:-unchecked /> > >>> > > </compilerArguments> > >>> > > </configuration> > >>> > > </plugin> > >>> > > > >>> > > See http://maven.apache.org/plugins/maven-compiler-plugin/ > > for more > >>> > > informations. > >>> > > >>> > I had seen that, but that cannot be the whole story (unless there > > is some > >>> > maven magic involved); indeed, how can maven differentiate > >>> > java-6-openjdk-amd64 > >>> > from > >>> > java-6-sun > >>> > (since both are Java 1.6)? > >>> > > >>> > I was thinking that there should be some environment variable(s) > > whose > >>> > setting would somehow activate the above configuration. > >>> > > >>> > > >>> > Regards, > >>> > Gilles > >>> > > >>> > > > >>> > > > >>> > > 2012/6/13 Gilles Sadowski > > <gil...@harfang.homelinux.org> > >>> > > > >>> > > > On Wed, Jun 13, 2012 at 12:48:31PM +0200, Jochen > > Wiedmann wrote: > >>> > > > > Yes, that switch is called PATH (environment > > variable). > >>> > > > > >>> > > > Do you mean that I should change the PATH variable just > > to build > >>> > Commons > >>> > > > Math? > >>> > > > I surely hope that there is a more flexible way. > >>> > > > > >>> > > > With "ant", all that's needed is to define > > JAVA_HOME (another > >>> > environment > >>> > > > variable, but specific to the task at hand). > >>> > > > > >>> > > > > On Wed, Jun 13, 2012 at 12:19 PM, Gilles Sadowski > >>> > > > > <gil...@harfang.homelinux.org> wrote: > >>> > > > > > Hello. > >>> > > > > > > >>> > > > > > Are there command-line switches that will > > select a specific JDK? > >>> > > > > > I.e. I have several of them installed: > >>> > > > > > > >>> > > > > > $ ls -l /usr/lib/jvm > >>> > > > > > total 36 > >>> > > > > > lrwxrwxrwx 1 root root 24 Dec 17 11:04 > > default-java -> > >>> > > > java-1.6.0-openjdk-amd64 > >>> > > > > > lrwxrwxrwx 1 root root 18 Jan 5 18:27 > > java-1.5.0-gcj -> > >>> > > > java-1.5.0-gcj-4.6 > >>> > > > > > drwxr-xr-x 6 root root 4096 Jan 18 15:04 > > java-1.5.0-gcj-4.4 > >>> > > > > > drwxr-xr-x 6 root root 4096 Mar 7 17:33 > > java-1.5.0-gcj-4.6 > >>> > > > > > lrwxrwxrwx 1 root root 23 Aug 11 2010 > > java-1.5.0-sun -> > >>> > > > java-1.5.0-sun-1.5.0.22 > >>> > > > > > drwxr-xr-x 10 root root 4096 Aug 11 2010 > > java-1.5.0-sun-1.5.0.22 > >>> > > > > > lrwxrwxrwx 1 root root 20 Dec 16 18:51 > > java-1.6.0-openjdk-amd64 > >>> > -> > >>> > > > java-6-openjdk-amd64 > >>> > > > > > lrwxrwxrwx 1 root root 20 May 3 14:00 > > java-1.7.0-openjdk-amd64 > >>> > -> > >>> > > > java-7-openjdk-amd64 > >>> > > > > > drwxr-xr-x 3 root root 4096 Jan 18 15:38 > > java-6-openjdk > >>> > > > > > drwxr-xr-x 7 root root 4096 Mar 7 17:29 > > java-6-openjdk-amd64 > >>> > > > > > drwxr-xr-x 3 root root 4096 Jan 18 15:38 > > java-6-openjdk-common > >>> > > > > > lrwxrwxrwx 1 root root 19 Jun 9 2011 > > java-6-sun -> > >>> > > > java-6-sun-1.6.0.26 > >>> > > > > > drwxr-xr-x 8 root root 4096 Jan 18 15:47 > > java-6-sun-1.6.0.26 > >>> > > > > > drwxr-xr-x 7 root root 4096 Jun 5 17:12 > > java-7-openjdk-amd64 > >>> > > > > > drwxr-xr-x 3 root root 4096 Jun 5 17:12 > > java-7-openjdk-common > >>> > > > > > lrwxrwxrwx 1 root root 12 Jan 5 18:27 > > java-gcj -> java-gcj-4.6 > >>> > > > > > lrwxrwxrwx 1 root root 18 Apr 29 2010 > > java-gcj-4.4 -> > >>> > > > java-1.5.0-gcj-4.4 > >>> > > > > > lrwxrwxrwx 1 root root 18 Nov 14 2011 > > java-gcj-4.6 -> > >>> > > > java-1.5.0-gcj-4.6 > >>> > > > > > > >>> > > > > > and I'd like to be able to say something > > like > >>> > > > > > -D...=/usr/lib/jvm/java-7-openjdk-amd64 > >>> > > > > > so that maven will use the corresponding > > compiler and JVM. > >>> > > > > > > >>> > > > > > Does the default configuration already cares > > for this? If so, which > >>> > > > are the > >>> > > > > > command-lins options? > >>> > > > > > > >>> > > > > > If not, I guess that this should be defined in > > a "profile" in > >>> > > > > > "settings.xml". If so, could someone > > post such a profile? > >>> > > > > > > >>> > > > > > > >>> > > > > > Thanks, > >>> > > > > > Gilles > >>> > > > > > > >>> > > > > >>> > > > > > --------------------------------------------------------------------- > >>> > > > To unsubscribe, e-mail: > > dev-unsubscr...@commons.apache.org > >>> > > > For additional commands, e-mail: > > dev-h...@commons.apache.org > >>> > > > > >>> > > > > >>> > > > >>> > > > >>> > > -- > >>> > > Xavier DETANT > >>> > > >>> > > > --------------------------------------------------------------------- > >>> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >>> > For additional commands, e-mail: dev-h...@commons.apache.org > >>> > > >>> > > >>> > >>> > >>> -- > >>> Xavier DETANT > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >> For additional commands, e-mail: dev-h...@commons.apache.org > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org