无法在Mac中正确切换Java Home

时间:2018-07-02 02:52:57

标签: java macos version

我在mac电脑中有两个Java版本,我正尝试从1.8切换到1.7,以编译我的一个项目,其中有1.7个特定的内容。尽管我在终端中运行了以下命令:

$ alias setJdk1.7='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)'
$ setJdk1.7

这样,我可以在java -version和mvn -version中看到正确的版本。

$ java -version

java version "1.7.0_181"
Java(TM) SE Runtime Environment (build 1.7.0_181-b09)
Java HotSpot(TM) 64-Bit Server VM (build 24.181-b09, mixed mode)

$ mvn -version

Apache Maven 3.0.5 (...)
Maven home: *mvn path*
Java version: 1.7.0_181, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_181.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.5", arch: "x86_64", family: "mac"

但是,/ usr / libexec / java_home似乎仍然只指向1.8 Java。

$ echo $(/usr/libexec/java_home)
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

我是Mac的新手,不太确定如何在两个版本之间切换。这不允许成功编译我的项目。

1 个答案:

答案 0 :(得分:0)

也许可以尝试使用函数代替并按如下所示设置命令:

setJdk1.7() {
    export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
    export PATH=$JAVA_HOME/bin:$PATH
}

您的命令可能无法使用,因为从未将$JAVA_HOME添加到您的$PATH中。