gpt4 book ai didi

maven-2 - 配置 Maven 为不同的 J2SE 版本使用不同的 JDK?

转载 作者:行者123 更新时间:2023-12-03 08:12:15 24 4
gpt4 key购买 nike

我想将 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

附言与 pom.xml 文件无关,已设置 maven-compiler-plugin与不同 <source> , <target>不同模块的值。如果我选择使用 openjdk-7,Maven2 将生成 1.6 版本的类文件,但使用 openjdk-7 而不是 sun-java6-jdk。问题是关于如何配置 Java SE 配置文件。

最佳答案

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

对于 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-2 - 配置 Maven 为不同的 J2SE 版本使用不同的 JDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com