[英]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
二進制文件,則必須手動設置PATH
和JAVA_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.