当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我想安装 Oracle 的 JRE 并在它们发布时使用软件更新程序更新到最新版本。是否有 Canonical 或 Oracle 提供的 Ubuntu 软件包?

在发布 Java 7 之前,我按照 this way 安装了 Java 6。

但它不适用于 Java 7。没有包 sun-java7-xxx 。如何安装 Java 7?

最佳方法

有关于如何安装 JRE 7 的 similar answer

安装 Java JDK

手动方式

  • Download 32 位或 64 位 Linux “压缩二进制文件” – 它具有 “.tar.gz” 文件扩展名。

  • 解压 tar -xvf jdk-8-linux-i586.tar.gz (32-bit) tar -xvf jdk-8-linux-x64.tar.gz (64-bit) 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 将为 replace it as the default 。如果您希望 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 有更多的可执行文件,你可以像上面一样安装它们。 javajavacjavaws 可能是最常需要的。这 answer lists 其他可执行文件可用。

  • 跑步

    
    sudo update-alternatives --config java
    

    您将看到与下面类似的输出 – 选择 jdk1.8.0 的编号 – 例如此列表中的 3(除非您从未在计算机中安装过 Java,在这种情况下,“没有什么可配置”的句子将出现):

    $ sudo update-alternatives --config java
    There are 3 choices for the alternative java (providing /usr/bin/java).
    
      Selection    Path                                            Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
      1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
    * 2            /usr/lib/jvm/jdk1.7.0/bin/java                   1         manual mode
      3            /usr/lib/jvm/jdk1.8.0/bin/java                   1         manual mode
    
    Press enter to keep the current choice[*], or type selection number: 3
    update-alternatives: using /usr/lib/jvm/jdk1.8.0/bin/java to provide /usr/bin/java (java) in manual mode
    

    重复以上操作:

    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws
    

NetBeans 用户注意事项!

您需要 set the new JDK as default 编辑配置文件。


如果要启用 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/ 以进行 system-wide 安装(/usr/lib/firefox-addons/plugins 从 15.04 开始)。对于 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

简单的方法(已过时)

Note: WebUpd8 team’s PPA has been discontinued with effective from April 16, 2019. Thus this PPA doesn’t have any Java files. More information can be found on PPA’s page on Launchpad. Hence this method no longer works and exists because of hostorical reasons.

安装 JDK 7 的最简单方法是使用 Web Up8 Oracle Java OOS。但是,据信此 PPA 有时已过时。另请注意 the dangers of using a 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

Source

注意:在有人尖叫之前,这是违反 Oracle 再分发许可证的 – PPA 实际上在个人存储库中没有 Java。相反,PPA 直接从 Oracle 下载并安装。

脚本方式

如果您使用的是全新安装的 Ubuntu,之前没有安装过 Java,如果您不想将所有内容都输入到控制台中,则此脚本会自动执行上述过程。请记住,您仍然需要从 Oracle 的网站下载 Java——Oracle 的链接不是 wget 友好的。

在使用之前,请确保此脚本与您下载的 .tar.gz 文件扩展名位于同一目录中,并且同一文件夹中没有以 jdk-7 开头的文件。如果有,请暂时将它们移出文件夹。请记住使脚本可执行 ( chmod +x <script's file> )。

#!/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)

您可以使用 official oracle website 检查 JRE Mozilla 插件是否成功。


对于 Java 6:How do I install Oracle JDK 6?

次佳方法

有关于如何安装 JDK 8 的 similar answer

安装 JRE

Download 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:

记住最后一个数字并按 Enter 键退出此实用程序,即在此示例中记住数字 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)

Install the Firefox/Chrome plugin

在终端中:

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/

使用 official oracle website 确认 JRE 已成功。

第三种方法

这是用于安装 Oracle JDK 7 及其所有文件的经过测试且有效的解决方案,因此 “javac” 和其他一切正常:How To Install Oracle Java 7 (JDK) In Ubuntu

下面是命令(只是为了方便):

  1. here 下载最新的 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/      #just in case sudo mv java-7-oracle/ /usr/lib/jvm/ 

3. Install Update Java package created by Bruce Ingalls (packages available for Ubuntu 11.10, 11.04, 10.10 and 10.04):

sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install update-java 

4. Now run the following command in a terminal to install Oracle Java JDK:

sudo update-java 

Select the Java Version that you want to install and set as the default

几分钟后,Oracle Java JDK 应该会成功安装到您的 Ubuntu 机器上。您可以通过在终端中运行以下命令来检查版本:

java -version javac -version 

NOTICE! This part below here of this answer no longer works due to Java changing how their binaries are released. It has been left as-is for historical reasons.

更新 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]

第四种方法

NOTICE! This solution no longer works due to Java changing how their binaries are released. As a result, this answer is no longer valid. It has been left as-is for historical reasons.

http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer

第五种方法

这就是我刚刚在 Oneiric 中安装它的方式。这将是一个相当冗长的答案,但它对我有用。

从 Oracle 下载最新的 Java SDK 1.7.0。然后解压到/usr/lib/jvm:

cd /usr/lib/jvm/
sudo tar -xvzf ~/jdk-7-linux-x64.tar.gz
sudo mv jdk1.7.0 java-7-oracle
sudo ln -s java-7-oracle java-1.7.0-oracle

之后,我在 /usr/lib/jvm 中创建了 .java-1.7.0-oracle.jinfo 文件,内容如下:

alias=java-7-oracle
priority=100
section=non-free

jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
jre jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol
jre keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool
jre pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200
jre policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool
jre rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid
jre rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry
jre unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200
jre orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd
jre servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool
jre tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv
jre jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec
jdk appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer
jdk apt /usr/lib/jvm/java-7-oracle/bin/apt
jdk extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck
jdk idlj /usr/lib/jvm/java-7-oracle/bin/idlj
jdk jar /usr/lib/jvm/java-7-oracle/bin/jar
jdk jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner
jdk java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi
jdk javac /usr/lib/jvm/java-7-oracle/bin/javac
jdk javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc
jdk javah /usr/lib/jvm/java-7-oracle/bin/javah
jdk javap /usr/lib/jvm/java-7-oracle/bin/javap
jdk jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole
jdk jdb /usr/lib/jvm/java-7-oracle/bin/jdb
jdk jhat /usr/lib/jvm/java-7-oracle/bin/jhat
jdk jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo
jdk jmap /usr/lib/jvm/java-7-oracle/bin/jmap
jdk jps /usr/lib/jvm/java-7-oracle/bin/jps
jdk jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript
jdk jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd
jdk jstack /usr/lib/jvm/java-7-oracle/bin/jstack
jdk jstat /usr/lib/jvm/java-7-oracle/bin/jstat
jdk jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd
jdk native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii
jdk rmic /usr/lib/jvm/java-7-oracle/bin/rmic
jdk schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen
jdk serialver /usr/lib/jvm/java-7-oracle/bin/serialver
jdk wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen
jdk wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport
jdk xjc /usr/lib/jvm/java-7-oracle/bin/xjc
plugin xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so
plugin mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so

然后你需要告诉 update-alternatives 所有的新东西:

$ sudo -sH
Password:
# update-alternatives --quiet --install /usr/lib/xulrunner-addons/plugins/libjavaplugin.so xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer 100 --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/lib/jvm/java-7-oracle/man/man1/appletviewer.1
# update-alternatives --quiet --install /usr/bin/apt apt /usr/lib/jvm/java-7-oracle/bin/apt 100 --slave /usr/share/man/man1/apt.1 apt.1 /usr/lib/jvm/java-7-oracle/man/man1/apt.1
# update-alternatives --quiet --install /usr/bin/extcheck extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck 100 --slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/lib/jvm/java-7-oracle/man/man1/extcheck.1
# update-alternatives --quiet --install /usr/bin/idlj idlj /usr/lib/jvm/java-7-oracle/bin/idlj 100 --slave /usr/share/man/man1/idlj.1 idlj.1 /usr/lib/jvm/java-7-oracle/man/man1/idlj.1
# update-alternatives --quiet --install /usr/bin/jar jar /usr/lib/jvm/java-7-oracle/bin/jar 100 --slave /usr/share/man/man1/jar.1 jar.1 /usr/lib/jvm/java-7-oracle/man/man1/jar.1
# update-alternatives --quiet --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner 100 --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/lib/jvm/java-7-oracle/man/man1/jarsigner.1
# update-alternatives --quiet --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 100 --slave /usr/share/man/man1/javac.1 javac.1 /usr/lib/jvm/java-7-oracle/man/man1/javac.1
# update-alternatives --quiet --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc 100 --slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/lib/jvm/java-7-oracle/man/man1/javadoc.1
# update-alternatives --quiet --install /usr/bin/javah javah /usr/lib/jvm/java-7-oracle/bin/javah 100 --slave /usr/share/man/man1/javah.1 javah.1 /usr/lib/jvm/java-7-oracle/man/man1/javah.1
# update-alternatives --quiet --install /usr/bin/javap javap /usr/lib/jvm/java-7-oracle/bin/javap 100 --slave /usr/share/man/man1/javap.1 javap.1 /usr/lib/jvm/java-7-oracle/man/man1/javap.1
# update-alternatives --quiet --install /usr/bin/jconsole jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole 100 --slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/lib/jvm/java-7-oracle/man/man1/jconsole.1
# update-alternatives --quiet --install /usr/bin/jdb jdb /usr/lib/jvm/java-7-oracle/bin/jdb 100 --slave /usr/share/man/man1/jdb.1 jdb.1 /usr/lib/jvm/java-7-oracle/man/man1/jdb.1
# update-alternatives --quiet --install /usr/bin/jhat jhat /usr/lib/jvm/java-7-oracle/bin/jhat 100 --slave /usr/share/man/man1/jhat.1 jhat.1 /usr/lib/jvm/java-7-oracle/man/man1/jhat.1
# update-alternatives --quiet --install /usr/bin/jinfo jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo 100 --slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/lib/jvm/java-7-oracle/man/man1/jinfo.1
# update-alternatives --quiet --install /usr/bin/jmap jmap /usr/lib/jvm/java-7-oracle/bin/jmap 100 --slave /usr/share/man/man1/jmap.1 jmap.1 /usr/lib/jvm/java-7-oracle/man/man1/jmap.1
# update-alternatives --quiet --install /usr/bin/jps jps /usr/lib/jvm/java-7-oracle/bin/jps 100 --slave /usr/share/man/man1/jps.1 jps.1 /usr/lib/jvm/java-7-oracle/man/man1/jps.1
# update-alternatives --quiet --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript 100 --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/lib/jvm/java-7-oracle/man/man1/jrunscript.1
# update-alternatives --quiet --install /usr/bin/jsadebugd jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd 100 --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/lib/jvm/java-7-oracle/man/man1/jsadebugd.1
# update-alternatives --quiet --install /usr/bin/jstack jstack /usr/lib/jvm/java-7-oracle/bin/jstack 100 --slave /usr/share/man/man1/jstack.1 jstack.1 /usr/lib/jvm/java-7-oracle/man/man1/jstack.1
# update-alternatives --quiet --install /usr/bin/jstat jstat /usr/lib/jvm/java-7-oracle/bin/jstat 100 --slave /usr/share/man/man1/jstat.1 jstat.1 /usr/lib/jvm/java-7-oracle/man/man1/jstat.1
# update-alternatives --quiet --install /usr/bin/jstatd jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd 100 --slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/lib/jvm/java-7-oracle/man/man1/jstatd.1
# update-alternatives --quiet --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii 100 --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/lib/jvm/java-7-oracle/man/man1/native2ascii.1
# update-alternatives --quiet --install /usr/bin/rmic rmic /usr/lib/jvm/java-7-oracle/bin/rmic 100 --slave /usr/share/man/man1/rmic.1 rmic.1 /usr/lib/jvm/java-7-oracle/man/man1/rmic.1
# update-alternatives --quiet --install /usr/bin/schemagen schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen 100 --slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/lib/jvm/java-7-oracle/man/man1/schemagen.1
# update-alternatives --quiet --install /usr/bin/serialver serialver /usr/lib/jvm/java-7-oracle/bin/serialver 100 --slave /usr/share/man/man1/serialver.1 serialver.1 /usr/lib/jvm/java-7-oracle/man/man1/serialver.1
# update-alternatives --quiet --install /usr/bin/wsgen wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen 100 --slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/lib/jvm/java-7-oracle/man/man1/wsgen.1
# update-alternatives --quiet --install /usr/bin/wsimport wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport 100 --slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/lib/jvm/java-7-oracle/man/man1/wsimport.1
# update-alternatives --quiet --install /usr/bin/xjc xjc /usr/lib/jvm/java-7-oracle/bin/xjc 100 --slave /usr/share/man/man1/xjc.1 xjc.1 /usr/lib/jvm/java-7-oracle/man/man1/xjc.1
# update-alternatives --quiet --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi 100
# update-alternatives --quiet --install /usr/bin/ControlPanel ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel 100
# update-alternatives --quiet --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/jre/bin/java 100
# update-alternatives --quiet --install /usr/bin/java_vm java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm 100
# update-alternatives --quiet --install /usr/bin/javaws javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws 100
# update-alternatives --quiet --install /usr/bin/jcontrol jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol 100
# update-alternatives --quiet --install /usr/bin/keytool keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool 100
# update-alternatives --quiet --install /usr/bin/pack200 pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200 100
# update-alternatives --quiet --install /usr/bin/policytool policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool 100
# update-alternatives --quiet --install /usr/bin/rmid rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid 100
# update-alternatives --quiet --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry 100
# update-alternatives --quiet --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200 100
# update-alternatives --quiet --install /usr/bin/orbd orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd 100
# update-alternatives --quiet --install /usr/bin/servertool servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool 100
# update-alternatives --quiet --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv 100
# update-alternatives --quiet --install /usr/bin/jexec jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec 100

现在您可以使用 update-alternatives 来选择新安装的 Java SDK。

# update-alternatives --config java              # Select java-1.7.0-oracle
# update-java-alternatives --set java-1.7.0-oracle
# exit
$

这对我有用,如果有更优雅的方式(不使用第三方 PPA),我会很高兴听到它。如果我可以在其中运行 Java,我仍然需要测试 Firefox。

第六种方法

Note: WebUpd8 team’s PPA has been discontinued with effective from April 16, 2019. Thus this PPA doesn’t have any Java files. More information can be found on PPA’s page on Launchpad. Hence this method no longer works and exists here only for historical reasons.

更新的答案:

我建议以这种方式使用 webupd8team ppa 中的安装程序之一:

  1. 在终端中输入这 2 个命令以添加此 PPA 并更新您的软件包列表:

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    
  2. 输入以下命令中的一个(或多个)以安装您需要的专有 Java:

    sudo apt-get install oracle-java6-installer
    sudo apt-get install oracle-java7-installer
    sudo apt-get install oracle-java8-installer
    sudo apt-get install oracle-java9-installer
    
  3. 当相应的 Java 安装程序脚本被加载并下载并安装专有 Java 包时,您也可以输入以下命令来检查安装结果:

    java -version
    

然后你应该得到一个终端输出(对于 java8 稳定版本),如下所示:

java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)

更多信息:http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

注意:这些包​​提供了 Oracle Java JDK,其中包括 Java JDK、JRE 和 Java 浏览器插件。而 webupd8team/java PPA 仅包含这些安装程序,它们只需连接到 Oracle Java 下载站点并安装最新的 JDK。

第七种方法

Note: WebUpd8 team’s PPA has been discontinued with effective from April 16, 2019. Thus this PPA doesn’t have any Java files. More information can be found on PPA’s page on Launchpad. Hence this method no longer works and exists because of historical reasons.

我感谢所有以前的答案。我想添加这个答案来简化由 www.webupd8.org 完成的事情,以便在 2-5 分钟内完成安装。

此安装包括:

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

就这样!!现在检查Java版本

java -version

输出将像

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode

可能会有一个新版本,然后您可以使用以下命令简单地更新它:

sudo update-java-alternatives -s java-7-oracle

设置环境变量

sudo apt-get install oracle-java7-set-default

有关更多信息,请查看 Install Oracle Java 7 in Ubuntu via PPA Repository

第八种方法

该解决方案将为您提供干净的构建包,就像它们在 Oracle 出现之前随 Ubuntu 一起提供一样。

答案

先回答,再解释。打开终端并逐行复制并粘贴以下内容。

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh

这将构建官方 sun-java6-* 包并使它们在 software-center 中可用。如果您还需要 oracle-java7-* 包,请像这样运行脚本:

sudo ./oab-java.sh -7

现在您可以使用首选的软件包管理器安装软件包。

说明

当 Oracle 更改 Java 的发行许可证时,Linux 发行版不再允许更新官方软件包。 Github 用户 rraptorr 使用了在此之前用于构建软件包的 Debian 脚本,并将其修改为与 Oracle 的更新下载一起使用。他现在为 SUN Java6Oracle Java7 提供打包脚本。

oab.java.sh 脚本只是一个自动下载当前版本、创建包并将它们添加到本地存储库的包装器。

补充说明

使用此方法创建和安装的包不会自动接收更新 – 仅当您重新运行脚本时。您可以通过创建定期运行此脚本的 cronjob 来规避此问题。最节省的方法是使用 anacron,将脚本放在 /etc/cron.daily 中。

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O /root/oab-java.sh
chmod +x /root/oab-java.sh
ln -s /root/oab-java.sh /etc/cron.daily/oab-java

现在您的官方 Java 包将始终为 up-to-date。

第九种方法

这适用于我能够运行/编译 1.6 或 1.7 的开发需求。以前我只是从 Ubuntu apt 包运行 1.6。

  1. 下载 1.7 gzip

  2. 解压到文件夹

  3. 更新 bash 文件中的 JAVA_HOME 和 PATH

    JAVA_HOME=/opt/java/jdk1.7.0_25
    export JAVA_HOME
    
    PATH=$JAVA_HOME/bin:$PATH
    export PATH
    

第十种方法

在 AMD64 上,您需要稍微修改命令以创建符号链接:

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

仅将 i386 更改为 amd64

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11908.html,未经允许,请勿转载。