我在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的新手,不太确定如何在两个版本之间切换。这不允许成功编译我的项目。
答案 0 :(得分:0)
也许可以尝试使用函数代替并按如下所示设置命令:
setJdk1.7() {
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
export PATH=$JAVA_HOME/bin:$PATH
}
您的命令可能无法使用,因为从未将$JAVA_HOME
添加到您的$PATH
中。