2013-01-25 46 views
0

在我的Red Hat服務器上,java -version輸出;爲什麼這個版本的java?

$ 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?

+2

支票Java可執行你正在運行(其中JAVA),然後檢查它是否是一個符號鏈接。 – BigMike

+1

您的RedHat版本可能使用「替代」機制。嘗試運行'/ usr/sbin/alternatives --config java' – Zutty

+0

'但是,PATH和JAVA_HOME環境變量都沒有設置您確定PATH沒有被設置嗎?這將是奇怪 –

回答

0

運行哪個可執行文件取決於PATH變量。仔細檢查一下。它不能運行,如果沒有設置它是不可能的,除非你有一些奇怪的Linux配置。

如果Java可執行文件在當前目錄中,它將運行./java。由於它只在java上運行,因此它在PATH的某處。

4

首先,JAVA_HOME不參與這個。 (JAVA_HOME被包裝腳本等爲使用 Java應用程序通常使用的...但不是所有Java可執行的自己。)

其次,要通過由alternatives程序管理的符號鏈接可能運行java 。 (RHEL和類似的發行版使用該工具允許您選擇不同的版本安裝在同一系統上的實用程序。)

無論哪種方式,運行以下將幫助你弄清楚到底是怎麼回事。

$ ls -l `which java` 

(直到你實際的可執行文件然後下面的符號鏈接的鏈。)

相關問題