当我这样做时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,我该如何做呢?
答案1
首先,我打开 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"
答案2
要仅为 maven 设置 JAVA_HOME 变量,您可以通过在文件中设置它来覆盖默认值$HOME/.mavenrc
。
$HOME/.mavenrc
由脚本提供。mvn
如果您想为不同的项目切换 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。
答案3
以下是Ubuntu 环境变量。
我们在这里要做的是坚持我们的JAVA_HOME小路。
最常见的是,我们的 Java 安装进入/usr/lib/jvm。要列出现有的安装,
ls /usr/lib/jvm
我有/usr/lib/jvm/java-8-openjdk-amd64其中,这就是我想要用于 maven 的安装。
我们可以添加我们的条目JAVA_HOME进入~/.pam_environment并将其设为默认或覆盖 - 这是您的选择。
使用您想要的任何文本编辑器打开文件(我使用系统中现有的文本编辑器 - 它的名字是 xed。您可以使用 gedit 或 vim 或任何其他编辑器)
xed ~/.pam_environment
你会发现类似这样的事情:
现在让我们为我们的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 home 位置是'/usr/lib/jvm/java-8-openjdk-amd64',我正在进入
JAVA_HOME DEFAULT=${JAVA_HOME} OVERRIDE=/usr/lib/jvm/java-8-openjdk-amd64
现在,注销您的系统并重新登录以使更改生效。
现在我们来检查一下maven版本。
mvn -version