配置Maven为不同的J2SE版本使用不同的JDK?
我想将 Maven2 配置为使用 sun-java6-jdk 构建 Java SE 1.6 模块,并使用 openjdk-7 构建 Java SE 1.7 模块。是否可以?
然后,Maven2 应该自动选择正确的 JDK,以便在一个命令中构建不同的模块。
例如,它应该
$ mvn package
代替
$ cd module1
$ update-alternatives ... jdk6 ...
$ mvn package
...
$ cd module2
$ update-alternatives ... jdk7 ...
$ mvn package
P.S.这与 pom.xml 文件无关,这些文件已经使用不同的 、
设置了 maven-compiler-plugin
不同模块的值。如果我选择使用 openjdk-7,Maven2 将生成 1.6 版本的类文件,但使用 openjdk-7 而不是 sun-java6-jdk。问题是如何配置 Java SE 配置文件。
I want to configure Maven2 to use sun-java6-jdk to build Java SE 1.6 modules, and use openjdk-7 to build Java SE 1.7 modules. Is it possible?
Maven2 should then auto choose the correct JDK to build different modules in one command.
For example, it should be
$ mvn package
instead of
$ cd module1
$ update-alternatives ... jdk6 ...
$ mvn package
...
$ cd module2
$ update-alternatives ... jdk7 ...
$ mvn package
P.S. It's nothing about pom.xml files, which have already been setup maven-compiler-plugin
with different <source>
, <target>
values for different modules. If I choose to use openjdk-7, Maven2 will generate version 1.6 class files, but using openjdk-7 rather then sun-java6-jdk. The question is about how to configure Java SE profiles.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们通过在编译插件的配置中明确指定 javac 来解决这个问题(将 JAVA_HOME_6 和 JAVA_HOME_7 定义为环境变量):
对于 Java 6 模块
和 Java 7 模块
we solved this problem by explicitely sepecify the javac in config of compile plugin (with JAVA_HOME_6 and JAVA_HOME_7 defined as environment variables):
and for Java 6 module
and for Java 7 module
您可以告诉 maven-compiler-plugin 使用不同的 JDK 编译源
You can tell the maven-compiler-plugin to Compile Sources Using A Different JDK
从 @lweller 的回答的众多赞成票中,我猜这很奇怪,但是使用
1.7
作为source
和target
maven 仍然尝试使用 java1.5
。而仅使用7
...就像这样:maven-compiler-plugin 版本 2.5.1。
From the numerous upvotes on @lweller's answer I guess it's wierd, but with
1.7
assource
andtarget
maven still tried to compile using java1.5
. Rather only with7
... Like so:maven-compiler-plugin version 2.5.1.