即使未设置$ JRE_HOME,java -version也会正常显示

use*_*069 1 java ubuntu path

我曾经sudo apt-get open-jdk7在我的Ubuntu操作系统上安装Java.

当我打开一个终端并输入echo $JRE_HOME它时什么也没显示.但后来我这样做java -version会向我展示OpenJDK的正确版本.此外,当我只是键入java它的工作.

不确定Ubuntu如何设置java的路径.

同样javac有效但我说的时候看不到任何东西echo $JAVA_HOME.

我的路径中没有显示java目录路径.

Ubuntu在哪里设置java路径?为什么Ubuntu的没有设置JAVA_HOMEJRE_HOME安装的OpenJDK的过程中?

Joa*_*uer 5

这是一个普遍的误解,认为Java的莫名其妙需要JAVA_HOME,JRE_HOME或类似的环境变量设置为工作.

事实上,javajavac(和相关的)可执行文件并不真正关心那些变量.他们只需要在PATH(或者可以通过一个完整的路径如果不执行PATH),并会发现他们的相关通过观察"近本身"安装(即可执行文件通常安装在称为相对JVM文件的位置).

有一些第三方脚本使用JAVA_HOME和/或JRE_HOME查找Java安装(Apache Tomcat是一个众所周知的示例),但Java可执行文件本身不需要这些变量.

至于Ubuntu如何找到可执行文件很容易回答:使用which javawhich javac找出在键入这些命令时执行的可执行文件.在基于Debian的系统上,它们通常是通过指向实际可执行文件的替代系统的一系列符号链接.