簡體   English   中英

Ubuntu上的Java安裝問題

[英]Java installation issues on Ubuntu

試圖在我的新Ubuntu系統上安裝Java(JDK 6)並獲得一些奇怪的錯誤。 這是我第一次使用任何類型的Linux,所以我確定這是一個用戶問題(權限或其他)。

我直接從Oracle的站點(64位Linux的Java SE 6u23)下載了BIN文件。 這默認為下載到/ home / myUserName / Downloads。

從那里我將文件移動到/ opt / java,這是我創建的目錄,因為(作為Linux新手)有意義成為Java應該去的目錄。

然后我按照我在網上找到的運行BIN的指令運行以下2個命令:

chmod +x jdk-6u23-linux-x64.bin
sudo ./jdk-6u23-linux-x64.bin

現在,在我的/ opt / java目錄中,我看到BIN文件和jdk1.6.0_23目錄在檢查時似乎完好無損。

但是 ,當我打開一個新終端並運行java -version時 ,我得到:

程序'java'可以在以下包中找到:
- gcj-4.4-jre-headless
- gcj-4.5-jre-headless
- openjdk-6-jre-headless
嘗試:sudo apt-get install

這里發生了什么?!?

(1)嘗試使用/ opt / java我的Java目錄是錯誤的嗎?
(2)我運行了錯誤的命令嗎?
(3)Java 1.6.0_23是否安裝在我的機器上?
(4)那些gcj-xxx無頭目標是什么?!?!

感謝您的任何意見!

我嘗試使用/ opt / java我的Java目錄是錯誤的嗎?

並不是的。 許多Java開發人員安裝多個JDK安裝,並始終使用/opt/jdk1.6.0_23或類似路徑。 您下載的bin文件不是安裝程序 ,而只是一個提取程序。 它不會將java二進制文件安裝到/bin類的系統文件夾中。

我通常下載JDK並從我的主文件夾中執行它,然后將其移至/ opt並執行chown。

我運行了錯誤的命令嗎?

並不是的。 如果您想安裝單獨的JDK,則可以正確完成。 如果您需要系統集成,最好使用特定於發行版的軟件包,例如通過aptitude install sun-java6-jdk或類似軟件包安裝的軟件包。

您下載的bin非常靈活,因為我可以使用它在同一系統上安裝多個Java的verison。 我知道這是你在Linux機器上經常做的事情。

如果要在命令行上使用java二進制文件,則必須手動設置PATHJAVA_HOME環境變量。 我認為在Ubuntu上是/ etc / environment或/ etc / profile或類似的東西。

Java 1.6.0_23甚至安裝在我的機器上嗎?

並不是的。 見上面的答案。

那些gcj-xxx無頭目標是什么?!?

GCJ是Java的Gnu編譯器。 顯然,它包括Java Development Kit和Java Runtime Environment。

為什么下載垃圾箱,當你可以簡單地:

sudo apt-get install sun-java6-jdk

如果您沒有任何特殊原因需要該網站的特定版本,您應該使用apt-get因為它會處理所有的東西,如PATH變量等。

請按照以下步驟安裝oracle java:

下載 最新的 Java SE SDK版本。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

解壓檔案

tar -xzvf jdk-8-linux-x64.tar.gz
mv jdk1.8.0 /opt 
cd /opt/jdk1.8.0

此步驟將下載的Java版本注冊為替代,並將其切換為默認值:

update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1
update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so 1
update-alternatives --set java /opt/jdk1.8.0/bin/java
update-alternatives --set javac /opt/jdk1.8.0/bin/javac
update-alternatives --set mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so

測試

檢查您正在運行的Java版本

java -version

產量

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

要查看瀏覽器插件,請瀏覽到http://www.java.com/並單擊“我有Java嗎?”

參考: https//askubuntu.com/questions/437776/ubuntu-13-04-unable-to-install-jdk7

您只需將JDK二進制文件放在目錄中即可。 雖然通常使用/ opt / java或/ opt / jdk,但這些不是系統自動識別的目錄。

但是,您可以更新PATH環境變量,以在系統中包含在路徑中的某個目錄中包含/ opt / java / bin目錄或符號鏈接(ln -s)/ opt / java / bin / java,如/ USR /斌/

您從Sun / Oracle安裝的JDK是原始的JDK。 “無頭”JDK是開源替代品。 當您運行JDK BIN文件時,它只是提取存檔。 當您輸入java -version命令時,它找到了FOSS Java,而不是您在/ opt中提取的Java。 正如其他人所提到的,開發人員保留了JDK的多個版本。 如果您希望使用Oracle的Java,那么您需要將/ usr / bin / java鏈接到/opt/jdk1.6.0_23/bin/java。

sudo ln -s /usr/bin/java /opt/jdk1.6.0_23/bin/java

為此,現有的java命令應該首先與“無頭”JDK脫鈎。 (在上一個命令之前執行以下操作。)

sudo mv /usr/bin/java /usr/bin/java_old

這假設在/ usr / bin中有一個名為java的鏈接或可執行文件。 使用which命令確定。

which java

嘗試:

rm -rf /usr/bin/javac
rm -rf /usr/bin/jar 

ln -s /home/jdk1.6.0_13/bin/javac /usr/bin/javac 
ln -s /home/jdk1.6.0_13/bin/jar /usr/bin/jar 

這樣,你的linux可以在/usr/bin找到java && javac

要向現有PATH變量添加新路徑名,需要在終端中鍵入:

PATH=`echo $path`:/your/new/path
export PATH

如果您丟失了原始PATH變量,可以通過輸入以下內容進行恢復:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export PATH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM