java - 如何删除旧版本的Java并安装新版本

标签 java linux

我有一个安装了 Java 1.7 的 Linux 机器:

#java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

但对于一些新工具,我需要安装 jdk-8u45-linux-x64.tar.gz

那么我怎样才能删除旧的并安装新的呢?

最佳答案

  1. 删除 OpenJDK(您已经安装的那个)

    sudo apt-get purge openjdk-\*

  2. 为您的新 JDK 创建一个新目录

    sudo mkdir -p/usr/local/java

  3. 将文件复制到目录(你应该在那个文件路径)

    sudo cp -r jdk-8u45-linux-x64.tar.gz/usr/local/java/

  4. 解压文件

    sudo tar xvzf jdk-8u45-linux-x64.tar.gz

  5. 您现在应该将它添加到您的 PATH 中。为此:

    一个。打开/etc/profile :sudo gedit/etc/profile

    向下滚动(末尾)并添加安装 jdk 的路径

    JAVA_HOME=/usr/local/java/jdk1.8.0_45 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin 导出 JAVA_HOME 导出路径

    保存退出

  6. 通知您的 Linux 系统您的 Oracle Java JDK/JRE 所在的位置。

    一个。通知系统 Oracle Java JRE 可供使用

    sudo update-alternatives --install "/usr/bin/java""java""/usr/local/java/jdk1.8.0_45/bin/java"1

    通知系统 Oracle Java JDK 可以使用

    sudo update-alternatives --install "/usr/bin/javac""javac""/usr/local/java/jdk1.8.0_45/bin/javac"1

    通知系统 Oracle Java Web start 可用

    sudo update-alternatives --install "/usr/bin/javaws""javaws""/usr/local/java/jdk1.8.0_20/bin/javaws"1

  7. 通知您的 Linux 系统 Oracle Java JDK/JRE 必须是默认的 Java。

    一个。为系统设置java运行环境

    sudo update-alternatives --set java/usr/local/java/jdk1.8.0_45/bin/java

    为系统设置javac编译器

    sudo update-alternatives --set javac/usr/local/java/jdk1.8.0_45/bin/javac

    为系统设置Java Web启动

    sudo update-alternatives --set javaws/usr/local/java/jdk1.8.0_20/bin/javaws

  8. 重新加载系统范围的 PATH

    来源/etc/profile

  9. 检查新版本,大功告成!

    java -version

关于java - 如何删除旧版本的Java并安装新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29964042/

相关文章:

java - 在 Rhino 中,我可以枚举可用的 Java 包列表吗?如何?

java - 使用MVP模式是否会降低性能?

java - Android内存管理从 native JNI调用Java类并声明数据(用于图像转换)

linux - 将二进制文件安装到/bin、/sbin、/usr/bin 和/usr/sbin,与 --prefix 和 DESTDIR 交互

linux - 支持多屏的高效 Windows 到 Linux 桌面共享解决方案

java - XPath 2.0 中的函数 Reverse() : how can use it to evaluate an expression?

java - 像扫描仪一样检索 JTextField 内容

c - linux启动时间和停止计时器不工作?

linux - 在 shell 中确定互联网 IP 地址?

c++ - 存在什么样的堆栈展开库,有什么区别?