在我的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?
答案 0 :(得分:4)
首先,JAVA_HOME没有参与其中。 (对于使用 Java但不是由任何Java可执行文件本身的应用程序,JAVA_HOME通常由包装器脚本等使用。)
其次,您可能正在通过java
程序管理的符号链接运行alternatives
。 (RHEL和类似的发行版使用此实用程序允许您选择在同一系统上安装的不同版本的实用程序。)
无论哪种方式,运行以下内容都可以帮助您弄清楚发生了什么。
$ ls -l `which java`
(然后遵循符号链接链,直到找到实际的可执行文件。)
答案 1 :(得分:0)
运行哪个可执行文件取决于PATH变量。仔细检查一下。除非你有一些奇怪的Linux配置,否则如果没有设置就无法运行。
如果Java可执行文件位于当前目录中,它将由./java
运行。由于它仅以java
运行,因此它位于PATH
。