在 Ubuntu 上用 oracle-jdk 替换 openjdk

lit*_*ali 57 dependencies java openjdk

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

但是,如果我删除我的 open-jdk 然后安装 oracle-jdk,当我尝试安装一些软件包时,他们想要安装 openjdk 而我不想要这个。

有没有办法在 oracle-jdk 之上安装这些软件包?其中之一是freemind。

Nit*_*023 82

您可以按照以下步骤完全删除OpenJDK和全新安装Oracle Java JDK

  1. OpenJDK通过此命令完全删除:

    sudo apt-get purge openjdk-\*
    
    Run Code Online (Sandbox Code Playgroud)
  2. Oracle Java JDK 这里下载。

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

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

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

    sudo mkdir -p /usr/local/java
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将下载的文件复制到目录中/usr/local/java。为此,cd进入下载文件所在的目录并使用此命令将该文件复制到/usr/local/java/

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

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  11. 通过以下命令重新加载系统范围的 PATH /etc/profile:

    source /etc/profile
    
    Run Code Online (Sandbox Code Playgroud)
  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)
    
    Run Code Online (Sandbox Code Playgroud)

就是这样!

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

  • 不要使用目录 jdk1.8.0_51,而是创建一个名为“jdk”的符号链接到该目录,下次更新时只需提取 JDK tarball 并重新创建符号链接,就完成了。 (3认同)

小智 21

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

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

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


tot*_*ico 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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保它适用于以下命令:

    java -version
    
    Run Code Online (Sandbox Code Playgroud)

    它应该显示类似于:

    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)
    
    Run Code Online (Sandbox Code Playgroud)
  3. (可选)如果您确实想要/需要,请删除 open-jdk:

    sudo apt-get purge openjdk-\*
    
    Run Code Online (Sandbox Code Playgroud)

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


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

更多信息:https : //launchpad.net/~webupd8team/+archive/java

(注意要根据您的 jdk 版本进行调整)