在Ubuntu上用oracle-jdk替换openjdk


52

我有一个ubuntu系统,我想用oracle-jdk替换我的openjdk。

但是,如果我先删除open-jdk,然后再安装oracle-jdk,则当我尝试安装某些软件包时,他们想安装openjdk,但我不希望这样做。

有什么方法可以将这些软件包安装在oracle-jdk之上吗?这些软件包之一是freemind。


您要安装哪些软件包需要open-jdk?(除了freemind)
塞斯

我发现将oracle-jdk添加到PATHin中/etc/profile.d/jdk.sh。删除该文件并启动新的外壳程序update-alternatives即可完成其工作。
jozxyqk

Answers:


78

您可以按照以下步骤完全删除OpenJDK全新的Install Oracle Java JDK

  1. OpenJDK通过以下命令将其完全删除:

    sudo apt-get purge openjdk-\*
  2. Oracle Java JDK 此处下载。

    注意:下载适当的文件,例如,如果您的系统是x64 Ubuntu(即Debian),则下载文件的命名如下:jdk-8u51-linux-x64.tar.gz

    要查找您的操作系统是哪个版本,请在此处查看

  3. 创建一个命名的文件夹java/usr/local/的以下命令:

    sudo mkdir -p /usr/local/java
  4. 将下载的文件复制到目录中/usr/local/java。为此,请cd进入下载文件所在的目录,然后使用此命令将该文件复制到/usr/local/java/

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD进入/usr/local/java/目录,并使用以下命令提取复制的文件:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. 解压缩后,您必须看到一个名为的文件夹jdk1.8.0_51

  7. 通过命令PATH打开/etc/profile文件来更新文件 sudo nano /etc/profile,并将以下内容粘贴到文件末尾:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. 保存并退出。

  9. 通过以下命令告诉系统新的Oracle Java版本可用:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
  10. 通过以下命令将Oracle Java JDK设置为默认值:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
  11. 通过以下命令重新加载系统范围的PATH / etc / profile:

    source /etc/profile
  12. 重新启动系统。

  13. 通过java -version命令检查Java JDK版本。如果安装成功,它将显示如下:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)

而已!

注意:我们假设下载的文件jdk-8u51-linux-x64.tar.gz在步骤2、4和5中使用的所有命令中都已命名并使用了该名称。它可能取决于操作系统的类型,处理器的类型(即32位或64位)。


1
除了这是手动安装oracle-jdk的正确方法之外,WebUpd8 PPA还提供了一个软件包,该软件包也会更新。因此,无需手动安装每个新版本。看到这里我的答案:askubuntu.com/questions/466166/...
lschuetze

2
无需使用目录jdk1.8.0_51,而是创建一个到此目录的名为“ jdk”的符号链接,下一次更新时,只需提取JDK tarball并重新创建符号链接即可。
ColinM 2015年

对于ubuntu用户:@mihaic提供了一种万无一失的方法,对我来说很有效
Carson Ip

你是摇滚明星
Bhupinder

请注意,如果要在Ubuntu Server(不带GUI)中下载JDK,则可以使用以下命令:wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" 始终可以通过返回Oracle下载页面并生成一个新版本来复制最新版本。
Toan Nguyen '18

20

您无需删除openjdk即可使用/安装oracle的jdk。只需安装oracle的jdk并通过配置它来配置要使用的java:

sudo update-alternatives --config java

您可以在这里找到更多帮助:https : //help.ubuntu.com/community/Java


我需要一种在我的ubuntu上只有一个Java的方法。tnx。
小阿里2014年

这是一个很好的答案。在Debian jessie上使用Groovy会强制安装openjdk,但是我所做的工作(不需要询问)需要Oracle JDK进行编译。这个选项使我同时保留了openjdk和oracle jdk的安装,因此一切正常。谢谢!
sanimalp

11

已在Ubuntu 14.04 / 16.04中测试。分三步:

  1. 从webupd8team存储库安装oracle-java7-installer(或oracle-java8-installer

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. 确保它与以下命令一起使用:

    java -version

    它应该显示类似于以下内容:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
  3. (可选)如果您确实想要/需要,请删除open-jdk:

    sudo apt-get purge openjdk-\*

您可以在这里找到更多信息


跟着你的方向,并得到了一个Unable to find java executable. Check JAVA_HOME and PATH environment variables.错误
扎克小号

一年后发现自己的答案感到很惊讶,它仍然适用于Ubuntu 16.04oracle-java8-installer
toto_tico

添加回购协议时得到了以下信息:W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
crockpotveggies

8

删除openjdk之后,请尝试以下对我有用的方法:

在ubuntu服务器上安装oracle jdk 7(已通过ubuntu 12.0.4测试)

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

一些更多的信息在这里:https : //launchpad.net/~webupd8team/+archive/java

(请注意,以使其适应您的jdk版本)

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.