在Maven中设置Java路径

当我执行mvn --v时,我得到的结果是:
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-oracle/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "amd64", family: "unix"

当我执行java -version时,我得到的结果是:
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)

现在我想让Maven使用Java 7,我该如何做到这一点?
3个回答

首先我打开了Ubuntu软件中心并搜索了jdk,从那里删除了安装程序和默认的jdk 6。然后我运行了以下命令:
sudo update-alternatives --config java
sudo update-alternatives --config javac

然后从中选择了openjdk-7。但是当我运行时:
mvn --v

它说JAVA_HOME未设置。然后按照以下步骤操作:
sudo gedit /etc/bash.bashrc

在文件末尾添加了以下行:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export PATH=$PATH:$JAVA_HOME/bin

然后关闭gedit。运行以下命令:
source /etc/bash.bashrc
echo $JAVA_HOME

路径已设置。 现在是:
mvn -v
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_76, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "amd64", family: "unix"

你可以使用update-java-alternatives来更新编译器和运行时。 - Benjamin Maurer

要将JAVA_HOME变量仅为maven设置,您可以通过在$HOME/.mavenrc文件中设置来覆盖默认值。

$HOME/.mavenrcmvn脚本加载。如果您想为不同的项目切换jvm,这将非常有用。

这是我的$HOME/.mavenrc文件的内容:

#export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
#export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

这样我可以在运行Maven之前注释掉我想要使用的JVM。

如果该文件不存在,则创建它。Maven将自动获取内容。 - chomp

这里是关于Ubuntu环境变量的文档。
我们在这里想要持久化我们的JAVA_HOME路径。
通常情况下,我们的java安装位于/usr/lib/jvm。要列出已安装的版本,请使用以下命令:
ls /usr/lib/jvm

我其中之一是/usr/lib/jvm/java-8-openjdk-amd64,这是我想要用于maven的安装位置。
我们可以将我们的JAVA_HOME条目添加到~/.pam_environment中,并将其设置为DEFAULT或OVERRIDE - 由你决定。
使用任何文本编辑器打开文件(我使用了一个在我的系统中闲置的文本编辑器 - 它的名字叫做xed。你可以使用gedit、vim或其他任何编辑器)。
xed ~/.pam_environment

你会发现一些东西,比如:

enter image description here

现在,让我们为我们的JAVA_HOME环境变量添加一个新条目。在新的一行中输入:
JAVA_HOME   DEFAULT=<your path to your java home location>

或者

JAVA_HOME   DEFAULT=${JAVA_HOME}    OVERRIDE=<path to your java home location>

由于我的Java主目录位置是'/usr/lib/jvm/java-8-openjdk-amd64',我正在输入 JAVA_HOME DEFAULT=${JAVA_HOME} OVERRIDE=/usr/lib/jvm/java-8-openjdk-amd64 现在,请退出系统并重新登录以使更改生效。
现在,让我们来检查一下Maven的版本。
mvn -version

应该可以工作: 在这里输入图像描述