8

关于在 Linux 中在哪里设置系统范围的 JAVA_HOME 似乎没有官方答案,至少我还没有找到(查看 Oracle 网站和一些谷歌 fu)。许多论坛和评论都指向在 /etc/profile 甚至 /etc/bashrc/(或 /etc/bashrc.bashrc)中设置它,但在我的系统上,这两个文件头都非常具体地用于创建

“/etc/profile.d/ [...] 中的 custom.sh shell 脚本,因为这将防止在将来的更新中合并。”

而不是直接修改文件。

出于这个原因,我认为放置在 /etc/profile.d 中的 custom.sh shell 脚本是可行的方法,但我可能会遗漏一些东西,因此这个问题 =)

如果我错过了官方文档并发布链接,请原谅我!


4

2 回答 2

13

我通常在 /etc/profile.d/ 中创建一个 java_dev.sh 文件,其中包含:

export JAVA_HOME=/opt/javahome
export M2_HOME=/opt/mavenhome
export PATH=${JAVA_HOME}/bin:${M2_HOME}/bin:${PATH}

或之类的。我在所有我经常使用的 Linuxen 上都使用它,Ubuntu、RH、Fedora ......

于 2012-07-10T02:09:53.603 回答
7

您几乎以“出于这个原因...”开头的段落回答了您自己的问题。我唯一一次编辑/etc/profile是在我更改其中的某些值(而不是添加某些内容)时。

在添加需要更改用户配置文件的各种软件包时,大多数发行版都会将适当的脚本添加到/etc/profile.d目录中,并且基本安装的/etc/profile脚本会调用该目录中的所有可执行脚本。(同样,升级/删除发行版提供的包将修改或删除子目录中的脚本。)

于 2012-07-10T02:23:37.950 回答