2015-05-19 77 views
1

甲骨文在Ubuntu Linux上安裝Java 1.8主機上how to install Java 1.8 from the binary從二進制

我能夠做到以下頁面 -

下載64 tar.gz甲骨文下載頁上。

創建我的目錄和移動文件存在

sudo mkdir /usr/local/java 
sudo mv ~/Downloads/jdk-8u45-linux-x64.tar.gz . 

並解壓

sudo tar zxvf jdk-8u45-linux-x64.tar.gz 

工作本身的二進制,因爲我可以使用絕對路徑

> /usr/local/java/jdk1.8.0_45/bin/java -version 
java version "1.8.0_45" 
Java(TM) SE Runtime Environment (build 1.8.0_45-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 

叫它但我不能稱之爲獨立的

> java -version 
The program 'java' can be found in the following packages: 
* default-jre 
* gcj-4.6-jre-headless 
* gcj-4.7-jre-headless 
* openjdk-7-jre-headless 
* openjdk-6-jre-headless 
Try: sudo apt-get install <selected package> 

即使設置$JAVA_HOME作爲該目錄不起作用。我錯過了一個步驟嗎?它是否需要添加到我的$PATH

編輯:我知道我可以安裝java與sudo apt-get install。我在那裏遇到了一些麻煩,因爲我有一些404錯誤,導致我無法apt-get update。我寧願將它作爲一個單獨的問題/帖子來處理。

謝謝!

+1

你需要「更新替代品」。請參閱http://stackoverflow.com/questions/4579156/java-installation-issues-on-ubuntu?rq=1 – Thilo

+0

謝謝!這樣做的訣竅:)基本上添加整個'bin'目錄到我的'$ PATH'結尾 – user2490003

回答

2

您剛剛提取了二進制文件,但未設置JAVA_HOME。 首先在您的檔案中設置JAVA_HOME,即~/.bashrc文件。

export JAVA_HOME=/usr/local/java/jdk1.8.0_45 
export PATH=$PATH:$JAVA_HOME/bin 

重新加載~/.bashrc文件

> source ~/.bashrc按回車

然後再試一次。

> java -version 
java version "1.8.0_45" 
Java(TM) SE Runtime Environment (build 1.8.0_45-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 
+1

謝謝!向上面的用戶Thilo表示同意提供/鏈接到相同的答案。 – user2490003

0

最好的方法是使用不使用JAVA_HOME的更新選項。我將最新的tarball jdk-8u162-linux-x64.tar.gz下載到子目錄./src。我還設置了/opt以便它屬於我,否則您需要使用sudo來解壓.tar.gz文件。

#!/usr/bin/env bash 

MAJOR_VERSION=8 
ORACLE_BUILD_VERSION=162 

JDK_TARBALL_VERSION=8u${ORACLE_BUILD_VERSION}-linux-x64 
JDK_VERSION=1.${MAJOR_VERSION}.0_${ORACLE_BUILD_VERSION} 
PRIORITY="10${MAJOR_VERSION}1" 

cd src && tar xzf jdk-${JDK_TARBALL_VERSION}.tar.gz -C /opt/jdk 

sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk${JDK_VERSION}/bin/java ${PRIORITY} 
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk${JDK_VERSION}/bin/javac ${PRIORITY} 

echo "Checking: alternatives on java and javac" 
sudo update-alternatives --display java 
sudo update-alternatives --display javac 

echo "Running: java -version" 
java -version 

我已經包含內部版本162,因爲這在你的消息中是最近的45。上面的腳本應該提供給開發領域的每個人,因爲我們目前可以看到,Debian和Ubuntu的oracle-java8-installer在昨天已經崩潰。它可能會在幾天內修復,但這個腳本將始終有效。

優先腳本中的值非常重要,因爲您必須覆蓋已安裝軟件包的現有優先級。我已將其設置爲使用要安裝的主要版本。如果你安裝了openjdk版本9,這個優先級只會失敗。