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


559

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

在发布Java 7之前,我遵循这种方式来安装Java 6

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


11
我还想指出,使用OpenJDK不仅仅是可行的选择:它现在也是参考实现
nickguletskii 2012年

11
银行小程序或其他软件不支持openJdk。例如:Aptana Studio
Elzo Valugi 2013年

4
链接到“这种方式”似乎揭示了……没有一种方式的描述?
rogerdpack 2014年

@ElzoValugi我认为您可能需要冰茶才能使用银行小程序。它基于OpenJDK。
GKFX

1
@GKFX否,因为这家特定的银行IcedTea无法正常工作,并且该银行仅支持Oracle的Java。同时,他们退出使用Java,我认为这是一个明智的决定。
Elzo Valugi 2015年

Answers:


881

关于如何安装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 /
    
  • 现在运行

    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会将其替换为默认值。如果希望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还有更多可执行文件,您可以按照上述类似方式安装。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/

根据您的配置,您可能需要在以下位置更新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,

然后重启apparmor:

sudo /etc/init.d/apparmor restart

简单方法(已淘汰)

注意: WebUpd8团队的PPA已于2019年4月16日停止生效。因此,该PPA没有任何Java文件。可以在启动板的PPA页面上找到更多信息。因此,由于敌对原因,此方法不再有效且存在。

安装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的链接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)

您可以使用官方的oracle网站检查JRE Mozilla插件是否成功。


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


8
是否需要执行所有相同的过程来更新它?
Lucio

5
这对于我在Ubuntu 12.04LTS上安装32位JDK的工作成功完成,但bash: /usr/bin/java: No such file or directory尝试运行时却遇到了问题java -versionapt-get install libc6-i386解决了问题。
gregmac

4
我建议/usr/local/*代替/usr/*此处的任何手动安装使用。这样一来,您手动安装的内容就不会堆满由软件包管理器管理的内容,并使手动安装更易于管理
Flint 2014年

4
我强烈建议您采用手动方式。这是最可靠的。由于Oracle Java已获得许可,因此PPA不再起作用。上面的脚本假定您使用的是编译器和运行时,并且该版本已过时。
JohnMerlino 2014年

1
如何安装手册页?
2014年

173

关于如何安装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已成功。


10
运行之后sudo update-alternatives --config java,我得到以下输出:There is only one alternative in link group java: /usr/lib/jvm/java-6-openjdk/jre/bin/java Nothing to configure.我在做什么错?
Shoan 2012年

7
好答案,谢谢!不知道为什么Oracle可以不花时间,使包这个....
bbqchickenrobot

1
@Shoan,在这种情况下,转到步骤“如果仅显示一个替代项,则记住数字0”
henrique 2012年

3
感谢您的回答,Oracle的指令对于linux noob来说是垃圾,这使事情变得更加容易!
大卫·巴克

1
虽然此方法有效-apt-get不会知道您已安装Java。因此,尝试安装ant,maven等工具仍然需要安装openjdk。相反,像webupd8.org/2012/01/…之类的东西对我来说很棒!
布拉德

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/

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

选择要安装的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:通过PPA存储库在Ubuntu中安装Oracle Java 8 [JDK8]


我认为该脚本适用于Gnome(工具),但对于Kubuntu机器,则需要大量安装(例如,在Kubuntu上缺少gksudo)。
Marcin Gil'1

良好且相对简单的解决方案,只需在其上安装了jdk1.7.0_03
prusswan 2012年

我只是使用这种方法将jdk1.7.0_03放在了精确Beta 2上。尽管报告了一个错误(显然是Zenity),但它仍然有效。该错误似乎并未影响结果。
凯利2012年

1
在ubuntu 13.04上尝试过它,它可以工作。+1谢谢
mamdouh alramadan

1
补充一点,如果我们不想删除任何现有的JDK,那么我们就应该跳过它的第一个对话框中的信息删除现有的JDK
安瓦尔

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

15
我想知道为什么大多数人都想使用第一个答案,这很复杂并且需要大量手动工作,例如在计算机上下载安装程序并将其移至服务器。您的答案简单有效!!!德克萨斯州
索林2012年

4
@SorinSbarnea有些人不喜欢使用第三方存储库,因为它们并不总是为此而更新或在线。
umop aplsdn 2012年

在Ubuntu服务器上,我必须使用“ sudo apt-get install python-software-properties”来获取add-apt-repository命令。
Mark Butler 2013年

@SorinSbarnea,因为存储库通常已过时
dstarh 2013年

1
请注意,Webupd8 PPA还包含一个脚本,该脚本会将Oracle Java设置为默认值(如果安装了多个JRE / JDK,则很有用),请使用进行安装sudo apt-get install oracle-java8-set-default。还要注意,这个答案有点过时了,您可能应该在最近安装了oracle-java8-installer
JonasCz

39

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


1
效果很好,除了最终命令会发出错误(尽管其他所有东西都可以,即使在Firefox / Chrome中也可以)。这似乎来自Oneiric的默认OpenJDK6安装。“更新替代:错误:-javaplugin.so没有替代方案。” 在隐藏的.java.1.6.0.jinfo文件中,似乎还有一个替代项指向-javaplugin.so。我们是否应该用libnpjp2.so提出第三个替代点?
Nicholi 2011年

2
我决定将上面BigWhale提到的步骤放在一个简单的shell脚本中。唯一的手动步骤是从Oracle网站下载64位tar.gz。在这里查看说明。
julius 2012年

1
这是显示如何添加手册页的唯一解决方案!
DavidG

@DavidG Alien Andrei的解决方案也可以完美运行
Anwar

1
同样,该解决方案适用于64位Ubuntu。对于32位,我们应该i386改用amd64
Anwar

26

更新的答案:

我建议以这种方式使用来自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。


1
感谢您的回答。只有这样,我的Chrome JRE才能正常工作!
法提赫(Fatih Karatana)2013年

它会只安装jre还是安装整个jdk,如果安装整个jdk,那么有什么方法将安装限制为仅jre?
Rajat Gupta

此类安装是否会在发布时为我提供自动更新,并且不会在不知不觉中将其他ppa添加到我的服务器上的情况?
Rajat Gupta 2013年

4
这将安装JDK:“此软件包提供了Oracle Java JDK 7(包括Java JDK,JRE和Java浏览器插件)。但是,您不能仅安装Oracle JRE -PPA仅提供完整的Oracle JDK7软件包。” 裁判
kiri

16

我感谢所有先前的答案。我想添加此答案以简化由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存储库在Ubuntu中安装Oracle Java 7


3
2-5分钟?用了77分钟

3
不错的解决方案。这应该更高。安装时间可能会超过5分钟,具体取决于您的Internet速度(下载约为70MB)。至于设置默认的Java机器,我更喜欢:sudo update-alternatives --config java
landroni 2014年

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

这将构建正式的sun-java6- *软件包并在软件中心中提供它们。如果还需要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软件包将始终是最新的。


1
这个脚本我遇到了很多问题-_-
qodeninja 2012年

@qodeninja,喜欢什么?我从来没有这个脚本的问题。如果上面的第3行没有被破坏,则肯定会在每台Ubuntu计算机上运行。
mniess 2012年

我有一个新的ubuntu 10.04的linode实例,我正在尝试使用此脚本安装jre 7。由于缺少相关性,该脚本将挂起太长时间。然后,我必须停止脚本并使用apt-get自己安装依赖项。即使在我安装完所有内容之后,脚本仍然失败。
qodeninja 2012年

该脚本实际上并没有做任何特别的事情。听起来好像您的盒子有问题。我一直(并且正在)从8.04到12.04使用它,并且从未遇到问题。我只是在我的10.04服务器上尝试了一下,该服务器几乎是香草的,它也可以正常工作。确实应该这样做,因为该脚本仅能使用打包程序用来为debian(和ubuntu)提供sun-java *的旧的debian构建脚本。
mniess 2012年

在Lubuntu 15.04上,它开始正常,但过了一会儿我debian/rules:67: recipe for target 'get-orig-source' failed make: *** [get-orig-source] Error 22 make: Leaving directory '/var/local/oab/src' 11678's retcode: 2 failed
rubo77

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

9

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

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

只需将更i386改为amd64


好喊!在我阅读您的答案之前,无法在我的12.04 64位系统上工作。谢谢!
Scaine

2
-1。这个答案是完全
不合

1
这不是问题的答案。相反,它应该是评论
Anwar'1

7

使其对所有用户可用:

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

对于x86_64:

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

1
非常感谢!这是我的Java在firefox上无法使用的内容。
ThiagoPonte 2012年

7

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

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

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

注意:

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

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

  • 在每个命令后按Enter键。

在终端中运行。

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

现在启用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

关闭所有浏览器。

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

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

创建指向您的Mozilla插件文件夹的符号链接。对于64位系统,将“ i386”替换为“ 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

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


6

我写了一篇博客文章,其中非常详细地介绍了如何在Natty(OpenJDK和Sun)上安装Java 7:

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

OpenJDK是从Damien Lecan提供的PPA安装的,而Sun是手动安装的。据了解,到目前为止,这是在步骤和说明中都正确的唯一指南。

如果您发现任何问题,请在此处发表评论,我将尝试修复它。

祝好运。


18
请尽量不要链接到外部内容作为答案-在答案中提供最相关的部分。原因是外部链接将来可能会消失-因此将来其他人将无法参考答案。谢谢。
fossfreedom

虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
凯文·鲍文

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中进行了说明

斯特凡。


10
...只是友好的建议-检查oracle的重新分发许可证...您不希望oracle的律师追您!
fossfreedom

1
请不要针对其他问题发布重复的答案。它只会为主持人带来更多工作。如果问题是如此相似,以至于每个问题都适用相同的答案,则两个问题中的较晚者很可能是重复的,因此应予以标记。
RolandiXor


4

对于居住在叙利亚,古巴,利比亚,韩国或Oracle禁止其服务的任何国家的人们,这是安装Oracle JDK 8的一种有效方法。

  1. 使用PROXY,转到此链接并接受条款,然后下载适合您的系统(32或64位)的tar.gz。
  2. 将压缩包移到主文件夹中的Downloads目录。
  3. 以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

3

要在64位Ubuntu上安装Java的32位变体:

打开一个终端窗口(Ctrl+ Alt+ T是,如果你不知道的最快的方法),并输入安装以下:

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

3

对我来说有点不同。对于Ubuntu 12.04 LTS Precise(Desktop):

  1. 下载 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/

就这样。

为了确保它是正确的:

java -version

如果要为Firefox或Chrome添加插件:

  1. mkdir ~/.mozilla/plugins

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

特别说明:如果您全新安装64位,则在运​​行时可能会遇到以下错误 java -version

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

这是由对libc6-i386软件包的依赖引起的,该依赖关系在64位Ubuntu Desktop 12.04 LTS中默认不包含。要安装此软件包,请运行: sudo apt-get install libc6-i386


1
您提供的为Firefox或Chrome添加插件的说明完全不影响Chrome。Chrome浏览器不使用该.mozilla文件夹的内容。
伊利亚·卡根

3

这是一个bash脚本,可以帮助设置Java替代品:

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

3

简单的解决方案

.tar.gz建议您下载该.rpm软件包,而不是下载该软件包。然后运行:

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

我认为当前<build>是21,这 <version>取决于您的系统架构。

第一个将安装Alien,这是一个转换.rpm为的应用程序.deb。然后,第二个命令在jdk软件包上运行Alien。这应该运行一两分钟,并产生一个带有标签的文件:

jdk-7u<build>-linux-<version>.deb

然后可以通过运行以下命令来安装此软件包:

sudo dpkg -i jdk-7u<build>-linux-<version>.deb

这就是我在计算机上成功安装它的方式。


1
这会更新替代方案吗?大概只复制文件。
DavidG

3

我认为最好的方法已经发布,但是我对此有一些问题:即我从中“手动”删除了Java update-alternatives,然后尝试这样做

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

但我不断收到这个错误

更新替代品:使用/usr/lib/jvm/jre1.7.0_05/bin/java以自动模式提供/ usr / bin / java /(java)。update-alternatives:错误:无法使/usr/bin/java/.dpkg-tmp成为/ etc / alternatives / java的符号链接:没有这样的文件或目录

但是幸运的是,我在此站点上遇到了一个很棒的教程:http : //www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html,它工作得很好:)


最好在这里发布必要信息(做出完整的答案)。
彼得·莫滕森

/usr/bin/java不是文件夹,这就是为什么出现错误
Anwar

2

如果要在Ubuntu 12.04 LTS(精确的穿山甲)下安装Java 6,我可以提供的最佳方法是:

sudo apt-get purge sun-java

如果希望Mozilla插件在不与Java 7冲突的情况下工作,则需要这样做。

mkdir ~/src

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

然后,完成安装Java:

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

您可以执行以下安装过程:

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

说明:与如何安装Sun / Oracle的专有Java JDK 6/7/8或JRE的答案相同

参考在Ubuntu 12.04上安装Java6 JDK


2

对我来说,Debian的方式(原文如此)将是创建您自己的软件包。

您安装 java-package

sudo apt-get install java-package

您下载Oracle tar.gz归档文件。

您创建您的Deb包

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

一个你安装它

sudo dpkg -i oracle-java7-jdk_7u79_amd64.deb

2

例如,.tar.gz从上http://oracle.com为Ubuntu系统下载所需的JDK版本jdk-8u102-linux-x64.tar.gz

将其解压缩到/home目录中所需的任何位置,例如/home/dante/Programs/Java。现在我们有了一个名为jdk1.8.0_102inside 的文件夹/home/dante/Programs/Java

将这两行添加到您的/home/dante/.profile文件中

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

重新启动系统,重新启动后,您应该java -version在终端中运行以查看Java版本。


2

我不知道为什么人们给出了这么多大答案,但是将jdk / bin添加到PATH可以正常工作:-

您添加jdk/bin到PATH所讲述这里在我的情况下这是怎么了我的/etc/environment长相: -

   $ 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/"

1

要通过Trusty在Precise上安装Sun Java 6,可以使用“ 保留的已删除的主/伙伴存档”软件包 PPA。

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

然后选择所需的Java版本。您可以通过以下方式查看您现在正在运行的内容:

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)

1

安装Oracle Java(JDK / JRE):

您可以使用以下脚本从下载的(tar.gz)源中自动执行安装/卸载Oracle Java(JDK / JRE)的任务

脚步:

  1. 下载所需的jdk / jre版本的tar.gz源。
  2. sudo oraji /path/to/the/jdk_or_jre/archive

卸载:

运行sudo oraji -u并确认要卸载的jdk / jre版本。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.