我正在设置 JAVA_HOME 并使用替代位置
/usr/lib/jvm/jre
这是当前活动安装的绝对路径的 simlink。
使用这个符号链接位置有缺点吗?
我读过的其他文章建议使用 oneliners,最终指向绝对路径;例如:
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
我只是不知道为什么没有人建议使用我设置的简单位置。到目前为止,我还没有遇到任何问题,但也许在某些特殊情况下该解决方案不起作用?
答案1
不,在这种情况下使用符号链接很好,而且通常更可取。例如,假设您有类似的内容:
/opt/some-program-2.0/bin/
包含一组二进制文件,然后您可以创建一个符号链接:
/opt/some-program -> /opt/some-program-2.0
并添加/opt/some-program/bin
到路径中。将来,当some-program-3.0
出来时,您可以创建:
/opt/some-program-3.0/
并更新符号链接以指向新目录。这样一来,其他任何事情都不需要改变。
Distro 对 JVM 的管理通常遵循这种模式。