我已经为开发目的安装了Java 8,但现在我想再次使用Java 7。
我该怎么做?
这似乎是疯狂的困难。
在此之前,非常感谢您。(我试过使用汽车修理厂,但不起作用)
发布于 2014-01-10 23:03:44
来自终端:export JAVA_HOME=`/usr/libexec/java_home -v 1.x`
,其中x是Java版本。
我个人有一个shell函数,为我做到这一点:
use-java () {
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`
}
我只需调用use-java 7
或use-java 8
就可以更改当前的shell Java版本。
发布于 2015-01-07 12:56:31
使用jEnv。
如果您的系统运行自制,则可以使用
brew install jenv
(您可能需要运行brew update
来获得最新的菜谱)
将其添加到bash配置文件中
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
启动一个新的shell以使对配置文件的更改有效。
然后,您可以像这样添加jdk:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
列出可用的版本
jenv versions
并在环境之间切换使用
jenv global oracle64-1.8.0.25
还有更多的自定义选项,如在每个目录中切换或在单个shell中临时切换,请参见http://www.jenv.be。
jEnv的工作方式是为java可执行文件创建shim脚本,并将它们放在路径的前面。一些第三方java工具,如ant和maven,依赖于JAVA_HOME。若要确保正确设置JAVA_HOME,请运行
jenv enable-plugin export
还有一些用于maven和groovy等工具的jenv插件。
发布于 2014-05-26 22:24:23
下面是一个很好的答案,说明如何在OSX (来源 by 尼姆·普拉克斯)中从命令行切换Java版本:
编辑您的
~/.bash_profile
并添加以下内容:
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
echo JAVA_HOME set to $JAVA_HOME
java -version
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
(将上述函数添加到.bash_profile
中)
使用:
$ setjdk 1.7
https://stackoverflow.com/questions/20974607
复制相似问题