在Linux中设置JAVA_HOME系统的好方法是什么?/ etc/profile或/etc/profile.d/custom.sh?

Jai*_*ago 8 java-home

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

"/etc/profile.d/ [...]中的custom.sh shell脚本,因为这样可以防止在将来的更新中合并."

而不是直接修改文件.

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

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


sth*_*sel 12

我通常在/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}
Run Code Online (Sandbox Code Playgroud)

或者类似的.我在我经常使用的所有Linuxen上使用它,Ubuntu,RH,Fedora ......


pr1*_*268 7

你几乎回答了你自己的问题,开头是"出于这个原因......".我编辑的唯一一次/etc/profile是当我改变它的某个值时(而不是添加一些东西).

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