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

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

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

但它不适用于Java 7sun-java7-xxx没有包。 你怎么安装Java 7

有关如何安装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

     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 / java”1
    

    这将为Oracle JDK分配优先级1,这意味着安装其他JDK将替换它作为默认值 。 如果希望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可能是最常需要的。 此答案列出了可用的其他可执行文件。

  •  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用户注意事项!

您需要将新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/ 

注意:您可以将插件( libnpjp2.so )链接到/usr/lib/firefox/plugins/以进行系统范围的安装( /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 

简单的方法

安装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 

资源

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

脚本方式

如果您正在进行全新安装的Ubuntu而没有以前的Java安装,那么如果您不想将所有内容输入控制台,则此脚本会自动执行上述过程。 请记住,您仍然需要从Oracle的网站下载Java – Oracle的链接不是友好的。

在使用此脚本之前,请确保此脚本与您下载的.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: 如何安装Oracle JDK 6?

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

安装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: 

记住最后一个号码并按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) 

安装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已成功。

这是一个经过测试和运行的解决方案,用于安装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/ 

3.安装由Bruce Ingalls创建的更新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 

选择要安装的Java版本并将其设置为默认值

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

 java -version javac -version 

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

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

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

来自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 
  • PPA是否可以安全地添加到我的系统中,需要注意哪些“危险信号”?

这就是我刚才在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 

然后你需要告诉所有新东西的更新替代品:

 $ 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。

更新的答案:

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

1)在终端中输入这两个命令以添加此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。

我很欣赏以前的所有答案。 我想添加这个答案来简化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 

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

这个解决方案将为您提供干净的构建包,就像它们在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- *软件包,并在软件中心提供。 如果您还想要oracle-java7- *包,请运行如下脚本:

 sudo ./oab-java.sh -7 

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

说明

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

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

进一步说明

使用此方法创建和安装的软件包不会自动接收更新 – 仅在重新运行脚本时。 您可以通过创建定期运行此脚本的cronjob来规避这一点。 The savest way to do this is using anacron by putting the script in /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 

Now your official Java packages will always be up-to-date.

On AMD64 you need modify a little the command to create the symbolic link:

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

only change the i386 to amd64 .

This worked for my development needs of being able to run/compile 1.6 or 1.7. Previously I was just running 1.6 from a Ubuntu apt package.

  1. Download 1.7 gzip .
  2. Extract to folder
  3. Update JAVA_HOME and PATH in bash file

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

To make it available for all users :

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

for x86_64 :

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

Get the JDK from Oracle/Sun; download the Java JDK at:

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

Please download or move the downloaded file to your home directory, ~ , for ease.

注意:

  • Don’t worry about what JDK to download for JEE.

  • Please skip copying the Prompt ” user@host:~$ “.

  • Hit enter after each command.

Run in a terminal..

 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 

Now enable Java (by running individually):

 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 

Close all browsers.

Create a Mozilla plugins folder in your home directory:

 user@host:~$ mkdir ~/.mozilla/plugins/ 

Create a symbolic link to your Mozilla plugins folder. For 64-bit systems, replace ‘i386’ with ‘amd64’:

 user@host:~$ ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/ 

测试:

 user@host:~$ java -version 

输出:

 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) 

测试:

 user@host:~$ javac -version 

输出:

 javac 1.7.0_04 

Verify JRE at http://java.com/en/download/installed.jsp .

I wrote a blog post with a very detailed explanation on how to install Java 7 on Natty, both OpenJDK’s and Sun’s:

http://brunoreis.com/tech/installing-java-ubuntu-natty/

OpenJDK is installed from the PPA provided by Damien Lecan, and Sun’s is installed manually. As far as know, until now that is the only guide that is correct both in the steps and the explanation.

If you find any problems, post a comment there and I will try to fix it.

祝好运。

I propose one way to make easier the installation of Oracle’s Java 7.

Since Ubuntu does not provides the Oracle’s Java 7 packages, I’m providing a collection of Ubuntu packages on my own package repository.

The packages are fully integrated in the Ubuntu way to support Java. You will be able to select the Oracle’s Java 7 alternative with the standard tools: update-alternative or update-java-alternative.

The main page of my contribution is: http://www.arakhne.org/jdk/index.html

To obtain the packages, you only need to add my package repository into your system configuration. The process is explained in http://www.arakhne.org/ubuntu.html

Stéphane.

The easiest way is just downloading java 7 with Netbeans here – http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html

For those who live in Syria, Cuba, Libya, Korea or any country where Oracle is banning its services, this is a working way to install Oracle JDK 8.

  1. Using a PROXY, go to this link and accept the terms then download the tar.gz suitable to your system (32 or 64 bit).
  2. Move that tarball to the Downloads directory in your home folder.
  3. run this script as sudo:

 if [[ $UID != 0 ]]; then echo "This script neeeds to be run with sudo, like this:" echo -e "\n sudo $0 $*\n" exit 1 fi apt-get install python-software-properties add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java8-installer if [ ! -f $HOME/Downloads/jdk-8u5-linux-*.tar.gz ]; then echo "The JDK tar.gz file was not found in $HOME/Downloads. please download it, put it in $HOME/Downloads and run again." exit 1 fi cp ~/Downloads/jdk-8u5-linux-*.tar.gz /var/cache/oracle-jdk8-installer/ apt-get install oracle-java8-installer apt-get install oracle-java8-set-default java -version 

For installing the 32-bit variant of Java on 64-bit Ubuntu:

Open up a terminal window ( Ctrl + Alt + T is the quickest method if you’re not aware) and type in the following to install:

 sudo add-apt-repository "deb http://download.tuxfamily.org/arakhne/ubuntu precise-arakhne universe" wget http://download.tuxfamily.org//arakhne/public.key -O - | sudo apt-key add - apt-get install ia32-oracle-java7-jre 

For me it’s a little bit different. For Ubuntu 12.04 LTS Precise (Desktop):

  1. Download jre-*.tar.gz

  2. tar -zxvf jre-*.tar.gz

  3. mkdir /usr/lib/jvm/

  4. mv jre* /usr/lib/jvm/

  5. ln -s /usr/lib/jvm/jre*/bin/java /usr/bin/

就这样。

To make sure it’s correct:

 java -version 

If you want to add plug in for Firefox or Chrome:

  1. mkdir ~/.mozilla/plugins

  2. ln -s /usr/lib/jvm/jre*/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Special Note: If you have a fresh 64 bit install, you may experience the following error when running java -version

 -bash: ./java: No such file or directory 

This is caused by a dependency on the libc6-i386 package which is not included by default in 64 bit Ubuntu Desktop 12.04 LTS. To install this package, run: sudo apt-get install libc6-i386

Here’s a bash script that could help in setting up the java alternatives:

 #!/bin/bash BIN_HOME="/usr/bin" JVM_BIN_HOME="/usr/lib/jvm/jdk1.7.0_21/bin" UPDATE_CMD="update-alternatives" UPDATE_OPT="--install" UPDATE_DEFAULT_PRIORITY=10 echo "Installing alternatives for Oracle JDK." #echo "JAVA_BIN_HOME=$JAVA_BIN_HOME" #echo "BIN_HOM=$BIN_HOME" echo "All cmds in \"$JVM_BIN_HOME\" will be installed in \"$BIN_HOME\" with \"$UPDATE_CMD\"" echo # # Calls update-alternatives. # Param 1 is the java cmd name and optionally param 2 is the priority # See 'man update-alternatives' for more information. # function update_alt() { if [ -z "$2" -o "${2}xxx" = "xxx" ]; then echo "using default priority: $UPDATE_DEFAULT_PRIORITY" PRIORITY=$UPDATE_DEFAULT_PRIORITY else PRIORITY=$2 fi EXEC="$UPDATE_CMD $UPDATE_OPT $BIN_HOME/$1 $1 $JVM_BIN_HOME/$1 $PRIORITY" echo $EXEC $EXEC return 0 } for bin in $JVM_BIN_HOME/* do if [ -x $bin ]; then cmd=$(basename $bin) if [ -x $BIN_HOME/$cmd ]; then echo "notice: alternative already installed, \"$cmd\"" continue # Skip installation of alternative. fi echo "install alternative: $cmd" update_alt $cmd if [ ! -x $BIN_HOME/$cmd ]; then echo "error: failed to install alternative, \"$cmd\"" exit 1 fi fi done exit 0 

Straightforward Solution

Rather than downloading the .tar.gz package I recommend you download the .rpm package. Then run:

 sudo apt-get install alien dpkg-dev debhelper build-essential sudo alien --scripts jdk-7u-linux-.rpm 

where I believe the current is 21 and the depends on your system architecture.

The first will install alien, a application for converting .rpm to .deb . The second command then runs alien on jdk package. This should run for a minute or two and produce a file labelled:

jdk-7u-linux-.deb

This package may then be installed by running:

 sudo dpkg -i jdk-7u-linux-.deb 

This is how I successfully installed it on my machine.

I think that the best method has been already posted but I had some problem with this : namely I remove java ‘manually’ from update-alternatives and then I have tried to do this

update-alternatives --install "/usr/bin/java/" "java" "/usr/lib/jvm/jre1.7.0_05/bin/java" 1

but I kept on getting this error

update-alternatives: using /usr/lib/jvm/jre1.7.0_05/bin/java to provide /usr/bin/java/ (java) in auto mode. update-alternatives: error: unable to make /usr/bin/java/.dpkg-tmp a symlink to /etc/alternatives/java: No such file or directory

But fortunately I have encountered a great tutorial on this site : http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html and it worked just fine 🙂

The best method that I can deliver if you want to install Java 6 under Ubuntu 12.04 LTS (Precise Pangolin) is:

 sudo apt-get purge sun-java 

You need to do that if you want the Mozilla plugin to work without conflict with Java 7 for instance.

 mkdir ~/src cd ~/src git clone https://github.com/flexiondotorg/oab-java6.git cd ~/src/oab-java6 sudo ./oab-java.sh 

Then when it’s finished, install Java:

 sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk 

You can follow the installation process with:

 tail -f ~/src/oab-java6/oab-java.sh.log 

Explanation : the same as in an answer to How can I install Sun/Oracle’s proprietary Java JDK 6/7/8 or JRE? 。

Ref : Installing Java6 JDK on Ubuntu 12.04

To me the Debian way (sic) would be to create your own package.

You install java-package

 sudo apt-get install java-package 

You download the Oracle tar.gz archive.

You create your deb package

 fakeroot make-jpkg jdk-7u79-linux-x64.tar.gz 

An you install it

 sudo dpkg -i oracle-java7-jdk_7u79_amd64.deb 

Download your desired .tar.gz version of JDK for your Ubuntu system from http://oracle.com , for example jdk-8u102-linux-x64.tar.gz .

Extract it to anywhere you want in /home directory, for example /home/dante/Programs/Java . Now we have a folder with the name like jdk1.8.0_102 inside /home/dante/Programs/Java .

Add these two lines to your /home/dante/.profile file

 export JAVA_HOME=/home/dante/Programs/Java/jdk1.8.0_102 export PATH=$JAVA_HOME/bin:$PATH 

Restart your system and after reboot you should see your Java version by running java -version in terminal.

I don’t know why people have given so much big answers but adding jdk/bin to PATH works just fine:-

Add your jdk/bin to PATH as told here in my case this is how my /etc/environment looks:-

  $ cat /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk-9.0.1/bin" JAVA_HOME="/opt/jdk-9.0.1/" 

To install Sun Java 6 on Precise through Trusty, you can use the Preserved Removed Primary/Partner Archive packages PPA.

 sudo add-apt-repository ppa:maxb/preserved sudo apt-get update sudo apt-get install sun-java6-jre sudo update-alternatives --config java 

And then select the desired Java version. You can check what you’re now running by:

 geek@liv-inspiron:/tmp$ java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) 

Installing Oracle Java (JDK/JRE):

You can automate the task of installing/uninstalling Oracle Java (JDK/JRE) from a downloaded (tar.gz) source with this script: oraji .

脚步:

  1. Download the tar.gz source of your desired jdk/jre version.
  2. run sudo oraji /path/to/the/jdk_or_jre/archive

Uninstall:

run sudo oraji -u and confirm the jdk/jre version to be uninstalled.