在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。

如何将Maven设置为使用1.7?


当前回答

你也可以安装两个版本的maven,然后编辑其中一个,点击这里编辑:

mvn (non-windows) / mvn。蝙蝠mvn cmd (windows)。

将您的%java_home%外观替换为您的Java所需路径。然后从修改后的路径执行maven

其他回答

你也可以安装两个版本的maven,然后编辑其中一个,点击这里编辑:

mvn (non-windows) / mvn。蝙蝠mvn cmd (windows)。

将您的%java_home%外观替换为您的Java所需路径。然后从修改后的路径执行maven

在使用Maven长达7年之后,我最近才学会了toolchains.xml。Maven甚至已经对它进行了文档化,并从2.0.9开始支持它——工具链文档

所以我在~/中添加了toolchains.xml文件。M2 /文件夹,内容如下:

<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
 <!-- JDK toolchains -->
 <toolchain>
   <type>jdk</type>
   <provides>
     <version>1.8</version>
     <vendor>sun</vendor>
   </provides>
   <configuration>
     <jdkHome>/opt/java8</jdkHome>
   </configuration>
 </toolchain>
 <toolchain>
   <type>jdk</type>
   <provides>
     <version>1.7</version>
     <vendor>sun</vendor>
   </provides>
   <configuration>
     <jdkHome>/opt/java7</jdkHome>
   </configuration>
 </toolchain>
</toolchains>

它允许您定义可以使用哪些不同的JDK Maven来构建项目,而不管JDK Maven使用什么运行。有点像在IDE中在项目级别上定义JDK。

在windows上

如果您不希望更改系统变量中的JAVA_HOME变量。

编辑mvn.bat文件并添加如下一行

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre

这可以在@REM ==== START VALIDATION ====之后完成,就像@Jonathan提到的那样

在Mac(和Linux ?)

如果您不想在~/中更改JAVA_HOME变量。bashc或~/.bash_profile

您可以创建一个~/。使用JAVA_HOME工具重新定义您的JAVA_HOME

export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_45`

完整性检查

您可以通过执行以下命令来验证一切是否正常工作。jdk版本应该不同。

mvn - version

then

java - version

设置Java默认版本 您的系统上可能有两个不同版本的Java。要设置一个为默认值,使用命令:

Sudo选项——配置Java

系统显示不同Java版本的列表。如果您喜欢默认设置,请按Enter。

如果您想更改它,输入您想要的版本号,然后按Enter。

在mac上(假设你安装了正确的版本)

JAVA_HOME= ' /usr/libexec/ JAVA_HOME -v 1.8 ' mvn clean install -DskipTests . txt