Answers:
对于JRE,这样的事情应该可以解决:
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
echo $(readlink -f /usr/bin/java | sed "s:bin/java::")
,输出是/usr/lib/jvm/java-7-oracle/jre/
不/usr/lib/jvm/java-7-oracle/
因此,您是说此命令对您没有任何作用?
sudo update-alternatives --config java
作为danadams的扩展,请回答:
首先,将第二个Java JRE作为第三个Java选项安装,优先级为“ 3”:
sudo alternatives --install /usr/lib/jvm/jre jre /opt/IBM/java/jre/bin/java 3
然后,您可以列出它们:
update-alternatives --list java
您可以使用以下方法手动设置替代方法:
sudo alternatives --config java /opt/IBM/java/jre/bin/java
然后,您的脚本可以立即进行设置,如下所示:
sudo alternatives --set java /opt/IBM/java/jre/bin/java
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
这更好地说明了“ sed”命令正在做什么。尽管您仍然需要为javaw和javac等设置链接,但每个链接都是单独完成的。
不久前,我在Ubuntu论坛上创建了一个教程,介绍如何从Java网站安装最新的JRE / JDK。它还通过将JRE / JDK位置添加到PATH变量中,介绍了如何在系统范围内启用它。如果愿意,还可以将JAVA_HOME添加到脚本中,如本主题末尾所述。