在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
当前回答
我正在使用Mac,上面的答案对我没有任何帮助。我发现maven从:~/.mavenrc中指定的路径加载自己的JAVA_HOME
我将文件的内容更改为:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
对于Linux,它看起来像这样:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
其他回答
Maven使用JAVA_HOME参数来查找应该运行哪个Java版本。我从你的评论中看到,你不能在配置中改变它。
您可以在启动maven之前设置JAVA_HOME参数(如果需要,可以在启动maven之后将其更改回来)。 你也可以进入你的mvn(非windows)/mvn.bat/mvn.cmd(windows)并在那里显式设置你的java版本。
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre
在$MAVEN_HOME\bin\mvn中添加上述代码行作为第一条语句。cmd在Windows 10中立即为我工作了。
在终端vi ~/.bash_profile 之后,将下面的路径粘贴到基本配置文件中,并用vim命令wq保存!
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
export M2_HOME=/Users/mj/Tools/apache-maven-3.8.1
执行source ~/。Bash_profile让它永远工作 在此之后,您可以在终端中运行MVN -v进行检查
Maven home: /Users/mj/Tools/apache-maven-3.8.1
Java version: 1.8.0_211, vendor: Oracle Corporation,
runtime: /Users/mj/Tools/jdk1.8.0_211.jdk/Contents/Home/jre
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
如果你想知道原因,请阅读下面的内容
许多基于Java的应用程序使用JAVA_HOME来定义Java运行时环境(JRE)的安装位置。 M2_HOME由Maven使用,它再次告诉程序在哪里找到Maven安装。
您可以按照下面的说明将Maven设置为使用任何java版本。
在你的机器上安装jenv链接
通过在命令行中发出以下命令,检查机器中安装的可用java版本。
jenv版本
可以使用以下命令指定全局Java版本。
Jenv global oracle64-1.6.0.39
您可以在命令行中的目录中使用以下命令为任何目录(项目)指定本地Java版本。
Jenv local oracle64-1.7.0.11
在pom.xml中添加正确的Java版本
如果你在命令行中运行maven,使用下面的命令安装jenv maven插件
Jenv使能插件maven
现在,您可以在您的机器上为任何项目配置任何java版本,而不会遇到任何麻烦。
在Linux/Unix上,“mvn”shell脚本中的JAVA_HOME会被中的设置覆盖
$HOME/.mavenrc
在linux中添加JAVA_HOME和MAVEN路径变量