osx java home_关于java:我应该如何在OSX上设置JAVA_HOME

许多Java应用程序使用壳牌来配置他们的环境使用JAVA_HOME环境变量来开始正确版本的爪哇,Locate JRE Jars等。

On OSX 10.6,the following paths seem to be valid for this variable

/Library/Java/Home

/System/Library/Frameworks/JavaVM.framework/Home

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

其中有些是Symlinks to the actual current vm(as defined in the Java preference pane).

但一个人应该用什么呢还是可以用他们的任何一个呢?But which one should be used-or is it okay to use any of them?

Java_在OSX Lion(10.7)、Mountain Lion(10.8)或Mavericks(10.9)的家在哪里?

雪豹还有江豚吗?在10.5中,我只将EDOCX1和2的输出设置为该命令的输出,该命令应该给您Java首选项中指定的Java路径。下面是我的.bashrc文件中的一个片段,它设置了这个变量:

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

我没有遇到过这种技术的任何问题。

有时候,我必须将EDCOX1的值2更改为Java的早期版本。例如,我正在维护的一个程序需要OS X上的32位Java 5,所以在使用该程序时,我通过运行设置EDOCX1×2。

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

雪豹仍然有/usr/libexec/java_home。谢谢

狮子也是!!!!

山狮也有

这是什么?/usr/libexec/java_home?

@洛波博士:这是一个工具,用来确定带macs的JAVA_HOME在哪里。

对小牛来说仍然有效

我喜欢使用if /usr/libexec/java_home &> /dev/null; then export JAVA_HOME=$(/usr/libexec/java_home); fi在zsh中对其进行条件化,这样无论多台机器是否安装了JDK,我都可以在多台机器上使用相同的.rc文件。无条件的;每次shell启动时都会收到警告。

在小牛队,我必须把它放在~/.bash_profile而不是~/.bashrc中。

特别感谢带有-v扩展名的部分;)

如果要与所有用户共享此环境变量,则必须更新/etc/profile

对约塞米蒂仍然有效。;)

埃尔卡皮坦检查!

设置路径时出错:ln: /usr/libexec/java_home: Operation not permitted。有人知道有什么问题吗?

我安装了多个版本。我做了你写的,但它仍然显示最新版本。在El Capitan上运行。和其他人一样,如果不想使用最新版本,则必须重命名安装目录,将其移到其他位置或将其删除。说真的,这是2016年,没有人费心在这里发表评论????

对于鱼壳用户,请使用以下内容:alias java7"set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"(适用于el capitan)

在Macos Sierra上工作:)

MKYON/COM/JAVA/HELLIP;

@Jakestoefler我认为所有版本的Mac都是如此。我现在在塞拉

对于Java 8更新121,我找不到Java路径。(MacOS 10.12.3)有什么想法吗?

Sierra 10.12.3工程

适用于High Sierra 10.13.1,将版本修改为9.0(可能是由于自制)

高塞拉10.13.1检查!!

高塞拉利昂工程10.13.4

对莫哈韦仍然有效

另外,设置路径以反映JDK也很有趣。添加java_home后(可以通过"mipadi"引用的示例完成):

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

添加到~/。配置文件:

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

P.S.:对于OSX,我通常在home dir中使用.profile,而不是.bashrc

对于运行默认bash的osx,我通常使用bash .bash_profile--为什么要使用通用的.profile?

由于.profile是通用的,它将与sh或bash一起工作,而.bash_profile是bash的专用。这也将设置与使用.bash_profile的应用程序隔离开来,比如MacPorts。但是你可以安全地使用这两种方法中的任何一种。在这里查看更多信息

-仅供参考,您提供的链接证实了我的怀疑,在bash(即默认情况下)下,使用.bash_profile会覆盖.profile。

@是的,这是因为.bash_profile是特定的,而.profile是通用的,适用于所有sh的变体。

由于OS/X在您的/usr/bin中放置了一个到java的链接,因此不需要在您的路径中显式地添加$JAVA_HOME。

我有Mac OS X(Sierra)10.12.2。

我按照以下步骤设置java_home以在react native(Android应用程序)上工作。

打开终端(command+r,键入terminal,点击enter)。

在~/.bash_配置文件中添加以下行。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

就是这样。

这很有用,谢谢。但我相信您错过了最后一步,那就是将java_home设置为.bashrc/.bash_profile/.zshrc/中的返回值。如果我弄错了,请纠正我。

不需要。在我的例子中,$JAVA_HOME指$(/usr/libexec/java_home),$(/usr/libexec/java_home)在系统内部称为/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/‌​Home。

知道了。在我的情况下是必须的。谢谢。

好吧,太好了。

现在Java似乎安装在EDCOX1 9中。

在OS X 10.7+上,这是新的默认文件夹:wiki.eclipse.org/eclipse.ini

相关:java_home on osx lion(10.7)或Mountain lion(10.8)在哪里?

我在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

这只是复制了公认的答案。

我倾向于使用/Library/Java/Home。"首选项"窗格的工作方式应该是最新的首选版本。

箱。并检查它指向//Reals/Java和NO/系统/库/…因为那个可能过时了。

这不再准确。在OS X 10.5及更高版本上,使用/usr/libexec/java_home查找路径。

以上内容在优胜美地不再适用于图形应用!就像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/el capitan/macos sierra中不再有效?

跳过终端设置,因为您提到了应用程序,永久系统环境变量设置(适用于MacOS Sierra;也适用于El Capitan):

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

(这将把java_设置为最新的1.8 JDK,很可能您已经完成了服务器更新,例如javac 1.8.0_101、javac 1.8.0_131)当然,将1.8改为1.7或1.6(真的吗?)以满足您的需求和系统

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

我的Java路径在这里:

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

我需要把它放进我的电脑里。

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

希望帮助

创建文件~/.mavenrc。

然后把这个粘贴到文件中

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

测试

mvn -v

我喜欢这种方法,因为它允许我在.MaveRC文件中非常容易地改变Java版本。

对我来说,Maven似乎在处理.mavenrc文件:

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

我肯定我也买了,只是不记得在哪里。

正如其他答案所指出的,找到Java主目录的正确方法是使用EDCOX1 1。

这方面的官方文档是在苹果的技术问答中:在OS X上的重要Java目录:HTTPS://ExcRe.Apple。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值