在使用替代方案的 Linux 系统上JAVA_HOME的正确路径是什么?
在 Ubuntu 系统上,确定 正确的路径有点复杂,因为它使用了替代方案。在我的机器上,这就是替代方案在到达实际的java或javac之前创建至少两个级别的间接寻址的方式。JAVA_HOME
usr/bin/javac -> /etc/alternatives/
/etc/alternatives/java -> /usr/lib/jvm/jdk1.7/bin/javac
如果我设置为 ,那么如果我更新替代项以使用另一个 java,则我的系统 java 可能会与 所指向的 java 不一致。JAVA_HOME
/usr/lib/jvm/jdk1.7
JAVA_HOME
我的问题是,在使用替代方案的系统上,正确的值是什么。我倾向于认为应该将其设置为JAVA_HOME
JAVA_HOME
/usr
这样,TOMCAT或任何其他使用它的软件都会将“bin”附加到并找到它需要的所有可执行文件。JAVA_HOME
对于使用备选项的系统,这是否是正确的值。大多数软件是否仅用于查找可执行文件,或者它们是否会使用该值来查找与 JDK 捆绑在一起的其他工件(例如安全策略 fil 等)?如果前者是真的,那么我觉得我们可以使用 for ,但如果后者是真的,那么我认为正确使用的唯一方法是牺牲替代功能。JAVA_HOME
JAVA_HOME
/usr
JAVA_HOME
JAVA_HOME