如何安装Sun/Oracle专有的Java JDK 6/7/8或JRE?

我想安装Oracle的JRE,并在他们发布时通过软件更新器更新到最新版本。是否有一个由Canonical或Oracle提供的Ubuntu软件包?

在发布Java 7之前,我按照这个方法来安装Java 6

但它对Java 7不起作用。没有sun-java7-xxx包。怎样才能安装Java 7

有一个关于如何安装JRE 7的类似答案

安装Java JDK

[The manual way] [手动方式]

  • 下载 32位或64位的Linux "压缩的二进制文件" - 它的扩展名是".tar.gz"。
  • 解压缩它 tar -xvf jdk-8-linux-i586.tar.gz (32位) tar -xvf jdk-8-linux-x64.tar.gz (64位) JDK 8 包被解压缩到 ./jdk1.8.0 目录中。注意:仔细检查这个文件夹的名称,因为 Oracle 似乎在每次更新时都会偶尔改变这个名称。
  • 现在将 JDK 8 目录移至 /usr/lib
    sudo mkdir -p /usr/lib/jvm
    sudo mv ./jdk1.8.0 /usr/lib/jvm/。
    
  • 现在运行
    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
    
    这将为 Oracle JDK 分配一个 1 的优先级,这意味着安装其他 JDK 将 [取代它作为默认值](https://askubuntu.com/q/344059/23678)。如果你想让 Oracle JDK 保持默认,请确保使用更高的优先级。
  • 纠正文件所有权和可执行文件的权限。
    sudo chmod a+x /usr/bin/java
    sudo chmod a+x /usr/bin/javac
    sudo chmod a+x /usr/bin/javaws
    sudo chown -R root:root /usr/lib/jvm/jdk1.8.0
    
    注意:记住--Java JDK还有很多可执行文件,你可以类似于上述方式安装。`java`, `javac`, `javaws`可能是最经常需要的。这个[答案](https://askubuntu.com/a/68227/14356)列出了其他可用的可执行文件。
  • 运行
    sudo update-alternatives --config java
    
    你会看到与下面类似的输出--在这个列表中选择jdk1.8.0的编号--例如`3`(除非你的电脑中从未安装过Java,在这种情况下会出现一句 "没有什么需要配置的")。 $ sudo update-alternatives --config java 对于替代的java有3个选择(提供/usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 自动模式 1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 手动模式 * 2 /usr/lib/jvm/jdk1.7.0/bin/java 1 手动模式 3 /usr/lib/jvm/jdk1.8.0/bin/java 1 手动模式 按回车键保持当前选择[*],或者输入选择号:3 update-alternatives: 使用 /usr/lib/jvm/jdk1.8.0/bin/java 来提供手动模式下的 /usr/bin/java (java) 重复上述操作,为 sudo update-alternatives --config javac sudo update-alternatives --config javaws NetBeans用户请注意!__。 你需要[将新的JDK设置为默认][3]编辑配置文件。 --- 如果你想启用Mozilla Firefox插件。
32 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

64 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

注意:你可以将该插件(libnpjp2.so)链接到/usr/lib/firefox/plugins/,以便在全系统范围内安装(从15.04开始为/usr/lib/firefox-addons/plugins)。对于Ubuntu 13.10,插件目录的路径是/usr/lib/firefox/browser/plugins/。 根据你的配置,你可能需要在/etc/apparmor.d/abstractions/ubuntu-browsers.d/java中为Firefox(或其他浏览器)更新apparmor配置文件。

# Replace the two lines:
#  /usr/lib/jvm/java-*-sun-1.*/jre/bin/java{,_vm} cx -> browser_java,
#  /usr/lib/jvm/java-*-sun-1.*/jre/lib/*/libnp*.so cx -> browser_java,
# with those (or adapt to your new jdk folder name)
/usr/lib/jvm/jdk*/jre/bin/java{,_vm} cx -> browser_java,
/usr/lib/jvm/jdk*/jre/lib/*/libnp*.so cx -> browser_java,

然后重新启动apparmor。

sudo /etc/init.d/apparmor restart

The easy way (Obsolete)

注意: WebUpd8团队的PPA已经停止使用,从2019年4月16日生效。因此这个PPA没有任何Java文件。更多信息可以在[Launchpad上的PPA页面](https://launchpad.net/~webupd8team/+archive/ubuntu/java)找到。因此,这种方法不再有效,存在的原因是主机的原因。 安装JDK 7最简单的方法是使用Web Up8 Oracle Java OOS。但是,据说这个PPA有时已经过时了。还要注意使用PPA的危险性。 这将安装JDK 7(包括Java JDK、JRE和Java浏览器插件)。

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
# or if you want JDK 8:
# sudo apt-get install oracle-java8-installer
# these commands install Oracle JDK7/8 and set them as default VMs automatically:
# sudo apt-get install oracle-java7-set-default
# sudo apt-get install oracle-java8-set-default

来源 注意:在有人大喊这违反了甲骨文的再分发许可之前,PPA的个人仓库中实际上没有Java。相反,PPA直接从Oracle下载并安装它。

脚本方式

如果你是新安装的Ubuntu,之前没有安装过Java,如果你不想在控制台中输入所有的内容,这个脚本可以自动完成上面的过程。记住,你还是需要从Oracle的网站上下载Java--Oracle的链接对wget不友好。 在使用这个之前,请确保这个脚本和你下载的.tar.gz文件扩展名在同一个目录中,并且在同一个文件夹中没有以jdk-7开头的文件。如果有的话,请把它们暂时移出这个文件夹。记住要让脚本可执行(chmod +x)。

#!/bin/sh

tar -xvf jdk-7*
sudo mkdir /usr/lib/jvm
sudo mv ./jdk1.7* /usr/lib/jvm/jdk1.7.0
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws

如果你想为Firefox安装插件,那么请在脚本的末尾加上这句话。

mkdir ~/.mozilla/plugins
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
sudo /etc/init.d/apparmor restart

检查安装是否成功

你可以用以下命令检查安装是否成功。

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)

你可以通过使用oracle官方网站来检查JRE Mozilla插件是否成功。

对于Java 6:https://askubuntu.com/questions/67909/how-to-install-oracle-java-jdk-6

评论(15)

有一个关于如何安装JDK 8的类似答案

[安装JRE] [安装JRE]

下载 32位或64位的Linux "压缩二进制文件" - 它有一个".tar.gz "的文件扩展名,并解压缩它

tar -xvf jre-7-linux-i586.tar.gz

JRE 7软件包被解压到./jre1.7.0目录。现在将JRE 7目录移至/usr/lib

sudo mv ./jre1.7.0* /usr/lib/jvm/jre1.7.0

之后,运行以下程序,以获得当前安装的Java替代品的列表。

sudo update-alternatives --config java

你将得到如下输出。

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode

Press enter to keep the current choice[*], or type selection number:

记住最后一个数字,然后按回车键退出本工具,即在本例中记住数字2

如果只显示一个选项,则记住数字`0'。

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0/bin/java 3

这将把你新安装的JRE 7添加到替代品列表中,即使用记忆中的数字+1,也就是上面例子中的3。现在将Java配置为使用Oracle Java JRE。

sudo update-alternatives --config java

你会看到下面类似的输出 - 选择jre1.7.0的数字,即`3'。

There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
3 /usr/lib/jvm/jre1.7.0/jre/bin/java 3 manual mode

Press enter to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jre1.7.0/jre/bin/java to provide /usr/bin/java (java) in manual mode.

注意:如果之前没有安装Java,那么新的JRE将是默认的,你将不会看到上述情况。

检查您新安装的JRE 7的版本。

java -version

它应该产生

java version “1.7.0”
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)

安装Firefox/Chrome插件

在一个终端中。

mkdir ~/.mozilla/plugins

如果已经安装了IcedTea插件,请删除该插件。

sudo apt-get remove icedtea6-plugin

移除前一版本的Java插件(可能存在也可能不存在)。

rm ~/.mozilla/plugins/libnpjp2.so

现在你可以通过创建一个符号链接来安装该插件(你告诉Firefox,该插件的位置)。对于32位的Java,使用

ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so ~/.mozilla/plugins/

对于64位的Java,使用

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

通过使用oracle官方网站确认JRE已经成功。

评论(15)

这里有一个经过测试的有效解决方案,用于安装Oracle JDK 7和它的所有文件,这样 "javac "和其他一切都能正常工作。如何在Ubuntu中安装Oracle Java 7 (JDK)

以下是命令(只是为了方便)。

1.从这里下载最新的Oracle JDK 7。 2.将下载的 Oracle Java JDK 归档文件解压到您的主文件夹中 - 应创建一个名为 "jdk1.7.0_03 "的新文件夹(用于 Java JDK7 更新 3)。将其重命名为 "java-7-oracle",并使用以下命令将其移至/usr/lib/jvm。

cd sudo mkdir -p /usr/lib/jvm/ #以防万一 sudo mv java-7-oracle/ /usr/lib/jvm/ 3.安装Bruce Ingalls创建的Update Java软件包(软件包可用于Ubuntu 11.10, 11.04, 10.10和10.04)。

sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install update-java 4.现在在终端运行以下命令来安装Oracle Java JDK。

sudo update-java

几分钟后,Oracle Java JDK应成功安装在Ubuntu机器上。你可以通过在终端运行这些命令来查看版本。

java -version javac -version


注意! 由于Java改变了他们发布二进制文件的方式,这个答案下面的部分不再起作用了。由于历史原因,它被保留下来。

更新 Oracle已经发布了Java 8(稳定版)。要安装它,请使用以下命令。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

更多信息 @ WebUpd8: Install Oracle Java 8 In Ubuntu Via PPA Repository[JDK8]

评论(6)