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

Ben*_*min 572 java jdk jre software-installation

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

在发布 Java 7 之前,我按照这种方式安装了Java 6

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

fos*_*dom 904

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

安装 Java JDK

手动方式

  • 下载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

    须藤 mkdir -p /usr/lib/jvm
    须藤 mv ./jdk1.8.0 /usr/lib/jvm/
    
  • 现在运行

    须藤更新替代方案 --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    须藤更新替代方案 --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    须藤更新替代品 --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
    

    这将为 Oracle JDK 分配优先级 1,这意味着安装其他 JDK 会将其替换为默认. 如果您希望 Oracle JDK 保持默认值,请务必使用更高的优先级。

  • 更正文件所有权和可执行文件的权限:

    须藤 chmod a+x /usr/bin/java
    须藤 chmod a+x /usr/bin/javac
    须藤 chmod a+x /usr/bin/javaws
    须藤 chown -R root:root /usr/lib/jvm/jdk1.8.0
    

    注意:请记住 - Java JDK 有更多的可执行文件,您可以像上面一样安装它们。java, javac,javaws可能是最常需要的。此答案列出了其他可用的可执行文件。

  • 须藤更新替代品--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
    
    Run Code Online (Sandbox Code Playgroud)

    重复以上操作:

    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws
    
    Run Code Online (Sandbox Code Playgroud)

NetBeans 用户注意事项!

您需要将新的 JDK 设置为默认编辑配置文件。


如果要启用 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/
Run Code Online (Sandbox Code Playgroud)

注意:您可以将插件 ( libnpjp2.so)链接到/usr/lib/firefox/plugins/系统范围的安装(/usr/lib/firefox-addons/plugins从 15.04 开始)。对于 Ubuntu 13.10,插件目录的路径是/usr/lib/firefox/browser/plugins/.

根据您的配置,您可能需要在以下位置更新 Firefox(或其他浏览器)的 apparmor 配置文件/etc/apparmor.d/abstractions/ubuntu-browsers.d/java

# 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,
Run Code Online (Sandbox Code Playgroud)

然后重启apparmor:

sudo /etc/init.d/apparmor restart
Run Code Online (Sandbox Code Playgroud)

简单的方法(已过时)

注意: WebUpd8 团队的 PPA 已从 2019 年 4 月 16 日起停产,因此该 PPA 没有任何 Java 文件。更多信息可以在PPA 的 Launchpad 页面上找到。因此,由于敌对的原因,这种方法不再有效和存在。

安装 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
Run Code Online (Sandbox Code Playgroud)

来源

注意:在有人尖叫之前,这是违反 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
Run Code Online (Sandbox Code Playgroud)

如果要为 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
Run Code Online (Sandbox Code Playgroud)

检查安装是否成功

您可以使用以下命令检查安装是否成功:

java -version
Run Code Online (Sandbox Code Playgroud)

你应该看到类似的东西

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)
Run Code Online (Sandbox Code Playgroud)

可以通过oracle官网查看JRE Mozilla插件是否成功。


对于 Java 6:如何安装 Oracle JDK 6?

  • 是否有必要做所有相同的过程来更新它? (8认同)
  • 这对我在 Ubuntu 12.04LTS 上安装 32 位 JDK 很成功,除了当我尝试运行 `java -version` 时我得到 `bash: /usr/bin/java: No such file or directory`。[`apt-get install libc6-i386`](http://askubuntu.com/a/207750/818) 修复了这个问题。 (6认同)
  • 对于像这里这样的任何手动安装,我建议使用 `/usr/local/*` 代替 `/usr/*`。这样你手动安装的东西不会被包管理器管理的东西弄乱,并使手动安装更易于管理 (4认同)
  • 我强烈推荐手动方式来解决这个问题。它是最可靠的。由于 Oracle Java 已获得许可,因此 PPA 不再起作用。上面的脚本假设您正在使用编译器和运行时,并且上面的版本已经过时。 (4认同)

fos*_*dom 172

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

安装 JRE

下载32 位或 64 位 Linux“压缩二进制文件” - 它具有“.tar.gz”文件扩展名并解压缩

tar -xvf jre-7-linux-i586.tar.gz
Run Code Online (Sandbox Code Playgroud)

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

sudo mv ./jre1.7.0* /usr/lib/jvm/jre1.7.0
Run Code Online (Sandbox Code Playgroud)

之后,运行以下命令以获取当前安装的 Java 替代品列表。

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

您将获得如下输出:

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:
Run Code Online (Sandbox Code Playgroud)

记住最后一个数字并按回车键退出该实用程序,即在本例中记住该数字2

如果只显示一种选择,请记住该数字0

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0/bin/java 3
Run Code Online (Sandbox Code Playgroud)

这会将您的新 JRE 7 安装添加到替代列表中,即使用记住的数字 + 1,即上例中的 3。现在配置 Java 以使用 Oracle Java JRE:

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

你会看到类似下面的输出——选择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.
Run Code Online (Sandbox Code Playgroud)

注意:如果之前没有安装 Java,那么新的 JRE 将是默认的,您将不会看到以上内容。

检查新 JRE 7 安装的版本:

java -version
Run Code Online (Sandbox Code Playgroud)

它应该产生

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)
Run Code Online (Sandbox Code Playgroud)

安装 Firefox/Chrome 插件

在终端中:

mkdir ~/.mozilla/plugins
Run Code Online (Sandbox Code Playgroud)

删除 IcedTea 插件(如果已安装)。

sudo apt-get remove icedtea6-plugin
Run Code Online (Sandbox Code Playgroud)

删除旧版本的 Java 插件(可能存在也可能不存在):

rm ~/.mozilla/plugins/libnpjp2.so
Run Code Online (Sandbox Code Playgroud)

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

ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

对于 64 位 Java 使用

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

使用oracle官网确认JRE已经成功。

  • 运行`sudo update-alternatives --config java`后,我得到以下输出:`链接组java中只有一种选择:/usr/lib/jvm/java-6-openjdk/jre/bin/java配置。`我做错了什么? (10认同)
  • 很好的答案,谢谢!想知道为什么 Oracle 不能花时间为此制作软件包...... (7认同)
  • 感谢您的回答,Oracle 的说明对于 Linux 菜鸟来说是垃圾,这让事情变得容易多了! (3认同)

Ali*_*rei 100

这是一个经过测试且有效的解决方案,用于安装 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/      #just in case
sudo mv java-7-oracle/ /usr/lib/jvm/
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

4. 现在在终端中运行以下命令来安装 Oracle Java JDK:

sudo update-java
Run Code Online (Sandbox Code Playgroud)

选择您要安装的 Java 版本并设置为默认版本

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

java -version
javac -version
Run Code Online (Sandbox Code Playgroud)

注意!由于 Java 更改了其二进制文件的发布方式,因此此答案下面的这部分不再有效。由于历史原因,它一直保持原样。

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

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Run Code Online (Sandbox Code Playgroud)

更多信息@WebUpd8:通过PPA存储库在Ubuntu中安装Oracle Java 8 [JDK8]


小智 94

注意!由于 Java 更改了其二进制文件的发布方式,因此此解决方案不再有效。因此,此答案不再有效。由于历史原因,它一直保持原样。

来自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
Run Code Online (Sandbox Code Playgroud)

  • 我想知道为什么大多数人都倾向于使用第一个答案,它非常复杂,需要大量手动工作,例如在您的机器上下载安装程序并将其移动到服务器。你的回答简单有效!!!TX (15认同)
  • @SorinSbarnea 有些人不喜欢使用第三方存储库,因为它们并不总是更新或在线。 (4认同)

Big*_*ale 40

这就是我刚刚在 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
Run Code Online (Sandbox Code Playgroud)

之后,我在 /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
Run Code Online (Sandbox Code Playgroud)

然后你需要告诉 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
Run Code Online (Sandbox Code Playgroud)

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

# update-alternatives --config java              # Select java-1.7.0-oracle
# update-java-alternatives --set java-1.7.0-oracle
# exit
$
Run Code Online (Sandbox Code Playgroud)

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

  • 我决定将上面 [BigWhale](http://askubuntu.com/users/23704/bigwhale) 提到的步骤放在一个简单的 shell 脚本中。唯一的手动步骤是从 Oracle 站点下载 64 位 tar.gz。[看看这里的说明。](https://github.com/jvassev/install-jdk/) (2认同)

Sad*_*adi 25

注意: WebUpd8 团队的 PPA 已从 2019 年 4 月 16 日起停产,因此该 PPA 没有任何 Java 文件。更多信息可以在PPA 的 Launchpad 页面上找到。因此,这种方法不再有效,仅由于历史原因而存在于此处。

更新的答案:

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

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

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 当相应的 Java 安装程序脚本被加载并下载并安装专有 Java 包时,您也可以输入以下命令来检查安装结果:

    java -version
    
    Run Code Online (Sandbox Code Playgroud)

然后你应该得到一个终端输出(对于 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)
Run Code Online (Sandbox Code Playgroud)

更多信息: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。

  • 这将安装**JDK**:“此包提供了Oracle Java JDK 7(其中包括Java JDK、JRE 和Java 浏览器插件)。_但是,您不能只安装Oracle JRE_-PPA 仅提供完整的Oracle JDK7包裹。” [参考](http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html) (4认同)

mad*_*313 16

注意: WebUpd8 团队的 PPA 已从 2019 年 4 月 16 日起停产,因此该 PPA 没有任何 Java 文件。更多信息可以在PPA 的 Launchpad 页面上找到。因此,由于历史原因,这种方法不再有效和存在。

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

此安装包括:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
Run Code Online (Sandbox Code Playgroud)

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

java -version
Run Code Online (Sandbox Code Playgroud)

输出将像

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
Run Code Online (Sandbox Code Playgroud)

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

sudo update-java-alternatives -s java-7-oracle
Run Code Online (Sandbox Code Playgroud)

设置环境变量

sudo apt-get install oracle-java7-set-default
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看通过 PPA 存储库在 Ubuntu 中安装 Oracle Java 7

  • 2-5分钟?花了 77 分钟 (3认同)
  • 不错的解决方案。这应该得到更高的支持。安装时间可能会超过 5 分钟,具体取决于您的互联网速度(下载量约为 70MB)。至于设置默认 Java 机器,我更喜欢:`sudo update-alternatives --config java`。 (3认同)

mni*_*ess 15

该解决方案将为您提供干净的构建包,就像它们在 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
Run Code Online (Sandbox Code Playgroud)

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

sudo ./oab-java.sh -7
Run Code Online (Sandbox Code Playgroud)

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

说明

当 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
Run Code Online (Sandbox Code Playgroud)

现在,您的官方 Java 包将始终是最新的。


小智 10

这适用于我能够运行/编译 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
    
    Run Code Online (Sandbox Code Playgroud)


小智 9

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

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

只将 更改i386amd64

  • -1. 这个答案完全断章取义了.. (2认同)

小智 7

从 Oracle/Sun 获取 JDK;在以下位置下载 Java JDK:

http://www.oracle.com/technetwork/java/javase/overview/index.html

~为方便起见,请下载或将下载的文件移动到您的主目录。

笔记:

  • 不用担心为 JEE 下载什么 JDK。

  • 请跳过复制提示“ user@host:~$ ”。

  • 在每个命令后按回车键。

在终端中运行..

user@host:~$ sudo mkdir -p /usr/lib/jvm/
user@host:~$ sudo mv jdk-7u4-linux-i586.tar.gz /usr/lib/jvm/
user@host:~$ cd /usr/lib/jvm/
user@host:~$ sudo tar zxvf jdk-7u4-linux-i586.tar.gz
Run Code Online (Sandbox Code Playgroud)

现在启用 Java(通过单独运行):

user@host:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_04/bin/java" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_04/bin/javac" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_04/bin/javaws" 1
Run Code Online (Sandbox Code Playgroud)

关闭所有浏览器。

在您的主目录中创建一个 Mozilla 插件文件夹:

user@host:~$ mkdir ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

创建指向 Mozilla 插件文件夹的符号链接。对于 64 位系统,将“i386”替换为“amd64”:

user@host:~$ ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

测试:

user@host:~$ java -version
Run Code Online (Sandbox Code Playgroud)

输出:

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)
Run Code Online (Sandbox Code Playgroud)

测试:

user@host:~$ javac -version
Run Code Online (Sandbox Code Playgroud)

输出:

javac 1.7.0_04
Run Code Online (Sandbox Code Playgroud)

http://java.com/en/download/installed.jsp验证 JRE 。


小智 7

要使其可供所有用户使用:

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)

对于 x86_64 :

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/
Run Code Online (Sandbox Code Playgroud)


小智 5

我提出了一种简化 Oracle Java 7 安装的方法。

由于 Ubuntu 不提供 Oracle 的 Java 7 软件包,我在自己的软件包存储库中提供了一组 Ubuntu 软件包。

这些软件包以 Ubuntu 的方式完全集成以支持 Java。您将能够使用标准工具选择 Oracle 的 Java 7 替代方案:update-alternative 或 update-java-alternative。

我的投稿主页是:http : //www.arakhne.org/jdk/index.html

要获取软件包,您只需将我的软件包存储库添加到您的系统配置中。该过程在http://www.arakhne.org/ubuntu.html中有说明

斯蒂芬。

  • ... 只是友好的建议 - 检查 oracle 的再分发许可证 ... 你不想让 oracle 的律师追你! (10认同)

归档时间:

查看次数:

908657 次

最近记录:

5 年,4 月 前