我应该怎么设置JAVA_HOME对OSX(What should I set JAVA_HOME t

2019-06-21 06:00发布

使用shell脚本来配置他们的环境中使用的许多Java应用程序JAVA_HOME环境变量来启动Java的正确版本,找到JRE的JAR文件,等等。

在OSX 10.6,下面的路径似乎是有效的这个变量

/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current

其中有些是符号链接到实际电流VM(作为Java首选项面板中定义)。

但哪一个应该使用,还是没关系使用其中的任何?

Answer 1:

是否雪豹还是/usr/libexec/java_home ? 在10.5,我刚才设置JAVA_HOME该命令的输出,这应该给您在Java首指定的Java路径。 下面是我的一个片段.bashrc文件,设置这个变量:

export JAVA_HOME=$(/usr/libexec/java_home)

我没有经历过与该技术的任何问题。

偶尔我也得的值更改JAVA_HOME到Java的早期版本。 例如,一个程序,我需要保持OS X上的32位Java 5,所以使用该程序时,我设置JAVA_HOME运行:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.5)

对于那些没有谁java_home在路径中添加像这样。

sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home /usr/libexec/java_home


Answer 2:

此外,它`有趣的设置您的路径以反映JDK。 加入后JAVA_HOME(其可以与通过“mipadi”所列举的例子来进行):

export JAVA_HOME=$(/usr/libexec/java_home)

还添加在〜/ .profile文件:

export PATH=${JAVA_HOME}/bin:$PATH

PS:对于OSX,我一般都在HOME目录,而不是使用的.bashrc .profile文件



Answer 3:

我有MAC OS X(内华达)10.12.2。

我设置JAVA_HOME上工作按照下面的步骤做出反应自然 (适用于Android应用)。

  • 打开终端(命令+ R,输入端子,敲击回车键)。

  • 添加以下行到〜/ .bash_profile。 export JAVA_HOME=$(/usr/libexec/java_home)

  • 现在运行以下命令。 source ~/.bash_profile

  • 您可以通过键入以下命令来检查JAVA_HOME的精确值。 echo $JAVA_HOME

值(输出)返回将会像下面。 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

而已。



Answer 4:

如今的Java似乎被安装在/Library/Java/JavaVirtualMachines



Answer 5:

我在Mac OS 10.6.8

最简单的解决方案对我的作品是简单地把在

$ export JAVA_HOME=$(/usr/libexec/java_home)

为了测试它是否有效,投入

$ echo $JAVA_HOME

表明

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

您还可以测试

$ which java


Answer 6:

我倾向于使用/Library/Java/Home 。 偏好窗格的工作方式,这应该是最新的与您的首选版本。



Answer 7:

以上工作没有任何更多约塞米蒂各种图形应用! 如Eclipse,或任何开始与聚光灯。 (.bash_profile中,launchd.conf的作品只有终端会话。)启动Eclipse之前,只是打开一个终端窗口,并给出了下面的命令:

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

(与您的安装路径!也许有$工作(在/ usr / libexec目录/ JAVA_HOME),而不是完整的路径了。)

查看有关永久解决方案的整个优秀的文章在这里: 通过launchd.conf的设置环境变量不再运行OS X Yosemite /埃尔卡皮坦/ MacOS的塞拉利昂的作品?



Answer 8:

我发现这个堆栈的帮助,我也有同样的问题,我可以解决:

我的Java路径在这里:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

并需要把我的.bash_profile

export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"

希望帮助



Answer 9:

跳绳终端设置,因为你提到的应用,永久性系统环境变量设置(适用于MacOS的塞拉利昂;应埃尔卡皮坦工作太):

launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)

(这将设置JAVA_HOME到最新的1.8的JDK,机会是你已经通过serveral的更新了如javac的1.8.0_101,javac的1.8.0_131)
当然,改变1.8到1.7或1.6(真的吗?),以满足您的需要和您的系统



Answer 10:

至于其他的答案注意,可以找到Java主目录正确的方法是使用/usr/libexec/java_home

造成这种情况的官方文档是在苹果的技术Q&A QA1170:在OS X上重要的Java目录 : https://developer.apple.com/library/mac/qa/qa1170/_index.html



Answer 11:

对我来说行家似乎工作关.mavenrc文件:

echo "export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" > ~/.mavenrc

我敢肯定,我把它捡起来上也是如此,只是不记得在哪里。



Answer 12:

创建文件~/.mavenrc

然后粘贴到文件中这个

export JAVA_HOME=$(/usr/libexec/java_home)

测试

mvn -v



Answer 13:

对于鱼shell用户,使用类似以下内容: alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"



文章来源: What should I set JAVA_HOME to on OSX