Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
Java是macOS最新版本的可选包。
然而,一旦安装,JAVA_HOME环境变量似乎没有正确设置。
当前回答
我的方法是:
. bashrc
export JAVA6_HOME=`/usr/libexec/java_home -v 1.6`
export JAVA7_HOME=`/usr/libexec/java_home -v 1.7`
export JAVA_HOME=$JAVA6_HOME
# -- optional
# export PATH=$JAVA_HOME/bin:$PATH
这使得在J6和J7之间切换非常容易
其他回答
这个答案与山狮有关,与狮子无关。我需要为AWS命令行工具这样做。根据AWS文档,运行哪个java会返回/usr/bin/java.
因此,我在。bashrc中设置了JAVA_HOME=/usr。
显然,/usr/bin/java是一个指向/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java的符号链接。
更新
正如下面的评论中提到的,当JAVA_HOME环境变量被AWS命令行工具以外的东西使用时,这个JAVA_HOME值并不是理想的解决方案。不过,它在AWS命令行工具中工作得很好,正如它们的文档中给出的那样。
在Mac OS X Lion上,设置visualgc运行,我使用:
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
我必须在我的Macbook air上明确地将它设置为准确的路径。
步骤是:
尝试回显$JAVA_HOME(如果设置了,它会显示路径),如果没有,尝试使用sudo find /usr/ name *jdk搜索它 使用- sudo nano ~/.bash_profile编辑Bash p 添加JAVA Home的确切路径(使用上面第2步中的路径) 出口JAVA_HOME = /图书馆/ Java / Home / JavaVirtualMachines / jdk1.8.0_144.jdk /内容 保存并退出 使用- echo $ JAVA_Home检查JAVA_Home
我在Macbook Air上使用JAVA 8运行MACOS MOJAVE - 10.14.2 (18C54)
/usr/ libeexec /java_home不是一个目录,而是一个可执行文件。它输出当前配置的JAVA_HOME,并且不实际更改它。这就是Java Preferences应用程序的作用,在我的例子中,它似乎坏了,实际上没有正确地更改JVM。它确实列出了1.7 JVM,但我可以切换/取消切换和拖放我想要的一切,而不实际改变/usr/libexec/java_home的输出。
即使在Lion上从Oracle安装了1.7.0 u6并在首选项中将其设置为默认值后,它仍然返回apple 1.6 java home。唯一对我有效的修复是手动设置JAVA_HOME:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/
至少这样,当从命令行运行时,它将使用1.7。/usr/libexec/java_home仍然坚持1.6。
更新:在OSX上从命令行理解Java有更好的解释如何工作。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
就是这样做的。注意,将其更新到1.8就可以了。
任何从澳大利亚税务局(ATO)使用AUSKEY的人都应该卸载AUSKEY。 这解决了我的JAVA_HOME问题。
MAC用户也不再需要它。是的!