java - 为什么是这个版本的java?

标签 java linux java-home

在我的 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)
$ 

但是,PATHJAVA_HOME 环境变量都没有设置。同样,JAVA_HOME 未在 ~/.bash* 文件中设置。

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

最佳答案

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

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

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

$ ls -l `which java`

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

关于java - 为什么是这个版本的java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519228/

相关文章:

java - 如何将 ubuntu 命令提示符的 jar 输出重定向到文本文件

linux - 获取静态链接Qt5的XCB插件的加载库或链接错误

Cassandra 3.0 及更高版本需要 Java 8u40 或更高版本

ubuntu - 已经设置hadoop-env.sh时,如何修复未在Ubuntu上设置的JAVA_HOME?

java - 如何将 ojalgo 稀疏数组存储到 java 文件中?

java - 如何克隆 CharArrayWriter?

java - 有没有办法从命令行指定 Ant 使用哪个 JVM?

c - 如何在没有标准库 (libc) 的情况下打印到控制台 (Linux)

java - postgresql "time without zone"对应哪个Java数据类型

eclipse - 在eclipse中添加Oracle服务器的Weblogic Home&Java home的路径