0

在我的 Red Hat 服务器上, java -version 输出;

$ java -version 
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)
$ 

但是,既没有设置PATH, 也没有JAVA_HOME设置环境变量。同样,JAVA_HOME未在~/.bash*文件上设置。

为什么我的服务器在安装其他两个 Java 版本的同时使用此版本的 Java 以及如何使用?

4

2 回答 2

4

首先,JAVA_HOME 不参与其中。(JAVA_HOME 通常由包装脚本等用于使用Java 的应用程序......但不是由任何 Java 可执行文件本身使用。)

其次,您可能java通过alternatives程序管理的符号链接运行。(RHEL 和类似的发行版使用此实用程序允许您选择安装在同一系统上的不同版本的实用程序。)

无论哪种方式,运行以下命令将帮助您弄清楚发生了什么。

$ ls -l `which java`

(然后跟随符号链接链,直到获得实际的可执行文件。)

于 2013-01-25T09:56:38.097 回答
0

哪个可执行文件运行取决于 PATH 变量。仔细检查一下。如果没有设置它就无法运行除非你有一些奇怪的 Linux 配置,否则它是不可能的。

如果 Java 可执行文件在当前目录中,它将由./java. 由于它只运行javaPATH.

于 2013-01-25T09:54:37.107 回答