configurationMaven为不同的J2SE版本使用不同的JDK?

我想configurationMaven2使用sun-java6-jdk构buildJava SE 1.6模块,并使用openjdk-7构buildJava SE 1.7模块。 可能吗?

然后,Maven2应该自动select正确的JDK,以一个命令构build不同的模块。

例如,它应该是

$ mvn package 

代替

 $ cd module1 $ update-alternatives ... jdk6 ... $ mvn package ... $ cd module2 $ update-alternatives ... jdk7 ... $ mvn package 

PS没有关于pom.xml文件,它已经为不同的模块设置了不同的<source><target>值的maven-compiler-plugin 。 如果我select使用openjdk-7,Maven2将生成1.6版本的类文件,但使用openjdk-7而不是sun-java6-jdk。 问题是关于如何configurationJava SEconfiguration文件。

我们通过在编译插件的configuration中明确指定javac来解决这个问题(将JAVA_HOME_6和JAVA_HOME_7定义为环境variables):

和Java 6模块

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <executable>${env.JAVA_HOME_6}/bin/javac</executable> <fork>true</fork> </configuration> </plugin> 

和Java 7模块

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <executable>${env.JAVA_HOME_7}/bin/javac</executable> <fork>true</fork> </configuration> </plugin> 

您可以告诉maven-compiler-plugin 使用不同的JDK编译源文件

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <executable><!-- path-to-javac --></executable> </configuration> </plugin> 

从@ lweller的答案的无数upvotes我猜它是奇怪的,但1.7作为sourcetarget maven仍然试图编译使用Java 1.5 。 而只有7 …像这样:

 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>7</source> <!-- see here, says only 7, not 1.7 --> <target>7</target> <!-- here as well --> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> <executable>${env.JAVA_HOME_7}/bin/javac</executable> <fork>true</fork> </configuration> </plugin> 

maven-compiler-plugin 2.5.1版本。