为什么 $JAVA_HOME 不能在 Mac 上保留?

为什么 $JAVA_HOME 不能在 Mac 上保留?

在我的 mac os 10.6.6 上,我尝试保留环境变量 $JAVA_HOME 但它不粘!

$ export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

一旦我重新启动它就不会再被设置。 GUI 方法是使用属性列表编辑器,如苹果等等所以。然而,重启后:

$ echo $JAVA_HOME

$

答案1

在 shell 中运行“导出”命令只会在会话期间保留它。

将导出命令保存在~/.bashrc(如果您的 shell 是 bash)。这样,每次启动新的 shell 会话时都会执行它。

答案2

正如其他人提到的,export仅适用于当前 shell 以及使用它后从其启动的程序。 (请注意,它将open其命令转发给 Finder,因此以这种方式启动的程序不会从其运行的 shell 获取环境变量。)

持久设置环境变量的一种方法是添加到~/.bash_profileor ~/.bashrc(前者是首选,否则export如果您出于某种原因更改它,子 shell 将覆盖它,例如因为某些特定的 Java 程序需要不同的 JRE)。另一种方法是将它们设置为~/.MacOSX/environment.plist;这是设置环境变量以便 Finder 能够看到它们的唯一方法。

我更喜欢使用环境变量首选项窗格管理~/.MacOSX/environment.plist。您还可以手动编辑它(注意;它是 XML)。更改后,您必须注销或重新启动才能让 Finder 重新读取它。

答案3

有关如何在 Mac OSX 中设置 JAVA_HOME 的更多信息,有一篇现有的文章 https://stackoverflow.com/questions/603785/environment-variables-in-mac-os-x

相关内容