2015-05-19 76 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,这个优先级只会失败。