2016-05-08 39 views
-1

我試圖在SUSE Linux的如何在Suse上安裝java?

我已經下載從甲骨文網站上的tar.gz文件並解壓它安裝Java(JRE 1.8)。

現在我的java我的機器上,但我只能這樣運行:

./java -version 
java version "1.8.0_91" 
Java(TM) SE Runtime Environment (build 1.8.0_91-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) 

運行本身的命令不起作用:

/usr/java/jdk1.8.0_91/bin # java -version 
If 'java' is not a typo you can run the following command to lookup the package that contains the binary: 
    command-not-found java 
-bash: java: command not found 

enter image description here

所以顯然我不能添加到PATH,因爲它不會被識別。

有誰知道我錯過了什麼?

+0

您需要的目錄'在/ usr/JAVA/jdk1.8.0_91/bin'添加到您的可執行文件的搜索路徑。 'export PATH =/usr/java/jdk1.8.0_91/bin:$ {PATH}'。我不熟悉Suse,但在你的用戶家中應該有一些'.profile'文件,你可以在其中添加這個設置。如果你想改變它,所有用戶都要查找一個'/ etc/profile'文件。 – SubOptimal

+0

但是,如果它不是像「bin」目錄本身那樣運行,將它添加到PATH中有什麼意義? –

回答

1

Linux不是Windows。如果你啓動一個沒有路徑的可執行文件,只有在PATH指定的目錄中找到它時,系統纔會啓動它。

這意味着,即使你想運行的可執行文件是在當前目錄,如果該目錄不在PATH它不會被執行。如果您明確指定可執行文件將被執行的目錄,即使該目錄不在PATH中。

看到一些小例子。

假定下列:/usr/java/jdk1.8.0_91/binPATH規定。作爲/tmpPATH

cd /tmp 
java 

會失敗。

cd /tmp 
./java 

會失敗,因爲是(通常)在/tmp目錄中沒有java可執行文件。作爲/usr/java/jdk1.8.0_91/binPATH

cd /usr/java/jdk1.8.0_91/bin 
java 

會失敗。

cd /usr/java/jdk1.8.0_91/bin 
./java 

將被執行爲您明確指定要運行在當前目錄./發現java

+0

在Suse中,您需要添加/etc/profile.local,並且PATH添加將保留常規用戶的升級。爲了檢查位於/ etc –

+0

的.profile @ShacharHamuzimRajuan感謝您爲Suse添加此信息。由於位置和文件名稱可能會因使用的Linux發行版而有所不同。 – SubOptimal