如何在Ubuntu Linux上安装Oracle Java

如何在Ubuntu Linux上安装Oracle Java

本文将介绍在32位和64位Ubuntu操作系统上安装32位和64位Oracle Java 7(当前版本号为1.7.0_45)JDK/JRE的方法。这里介绍的方法也适用于Debian和Linux Mint。

如果你已经在系统上安装有Oracle Java 7,请参考该方法进行升级。

该文适合需要安装Oracle Java JRE用于运行Java应用程序而不需要开发Java程序的用户。

适合需要安装Oracle Java JDK用于开发Java程序和应用的用户,Oracle Java JRE已包含在Oracle JDK内。

介绍在web浏览器中启用/升级Oracle Java的方法。

步骤

  1. 1

    打开终端运行以下命令,检查你的Ubuntu Linux操作系统是32位的还是64位的。

    • 输入/复制/粘贴: file /sbin/init
      • 注意,它将显示的Ubuntu Linux操作系统架构位版本将是32位或64位。

    广告

  2. 2

    检查你的系统上是否已安装Java。要检查该项,你需要在终端上运行Java版本命令。

    • 打开终端并输入以下命令:
      • 输入/复制/粘贴: java -version
    • 如果你在系统上安装了OpenJDK,则命令的返回可能如下:
      • java version “1.7.0_15”
        OpenJDK Runtime Environment (IcedTea6 1.10pre) (7b15~pre1-0lucid1)
        OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
    • 如果你在系统上安装了OpenJDK,那么你的Java发行商版本并不适用于本文所介绍的方法。
  3. 3

    从你的系统上完全删除OpenJDK/JRE并创建目录保存Oracle Java JDK/JRE二进制文件。这将能避免系统冲突以及不同Java发行商版本所造成的混乱。例如,如果你在系统上安装了OpenJDK/JRE,可以在命令行中输入以下命令进行删除:

    • 输入/复制/粘贴: sudo apt-get purge openjdk-\*
      • 该命令将从你的系统上完全删除OpenJDK/JRE
    • 输入/复制/粘贴: sudo mkdir -p /usr/local/java
      • 该命令将创建用于保存Oracle Java JDK和JRE二进制文件的目录。
  4. 4

    下载用于Linux的Oracle Java JDK/JRE确保你选择了正确的、适用于你的系统架构的、32位或64位的压缩二进制文件(文件名以tar.gz结束)。

    • 例如,如果你使用的是32位Ubuntu Linux,则应下载32位Oracle Java二进制文件。
    • 例如,如果你使用的是64位Ubuntu Linux,则应下载64位Oracle Java二进制文件。
    • 可选操作,下载Oracle Java JDK/JRE文档
      • 选择jdk-7u40-apidocs.zip
    • 重要信息:64位Oracle Java二进制文件无法应用于32位Ubuntu Linux操作系统,如果你尝试在32位Ubuntu Linux上安装64位Oracle Java,你将会得到多条系统错误信息。
  5. 5

    把Oracle Java二进制文件复制到/usr/local/java目录。大部分情况下,Oracle Java二进制文件将被下载至:/home/“你的用户名”/Downloads。

    • 32位Ubuntu Linux安装32位Oracle Java安装指南:
      • 输入/复制/粘贴: cd /home/“你的用户名”/Downloads
      • 输入/复制/粘贴: sudo cp -r jdk-7u45-linux-i586.tar.gz /usr/local/java
      • 输入/复制/粘贴: sudo cp -r jre-7u45-linux-i586.tar.gz /usr/local/java
      • 输入/复制/粘贴: cd /usr/local/java
    • 64位Ubuntu Linux安装64位Oracle Java安装指南:
      • 输入/复制/粘贴: cd /home/“你的用户名”/Downloads
      • 输入/复制/粘贴: sudo cp -r jdk-7u45-linux-x64.tar.gz /usr/local/java
      • 输入/复制/粘贴: sudo cp -r jre-7u45-linux-x64.tar.gz /usr/local/java
      • 输入/复制/粘贴: cd /usr/local/java
  6. 6

    把Java二进制文件解压缩到目录/usr/local/java

    • 32位Ubuntu Linux安装32位Oracle Java安装指南:
      • 输入/复制/粘贴: sudo tar xvzf jdk-7u45-linux-i586.tar.gz
      • 输入/复制/粘贴: sudo tar xvzf jre-7u45-linux-i586.tar.gz
    • 64位Ubuntu Linux安装64位Oracle Java安装指南:
      • 输入/复制/粘贴: sudo tar xvzf jdk-7u45-linux-x64.tar.gz
      • 输入/复制/粘贴: sudo tar xvzf jre-7u45-linux-x64.tar.gz
  7. 7

    再三检查你的目录。现在,你应该有两个关于Java JDE/JRE的解压二进制目录在/usr/local/java中:

    • 输入/复制/粘贴: ls -a
    • jdk1.7.0_45
    • jre1.7.0_45
  8. 8

    编辑系统路径文件/etc/profile并添加以下系统变量到你的系统路径中。以root身份,使用nano、gedit或任何其他文本编辑器,打开/etc/profile。

    • 输入/复制/粘贴: sudo gedit /etc/profile
    • 或者
    • 输入/复制/粘贴: sudo nano /etc/profile
  9. 9

    使用箭头键滚动到文件底部并在/etc/profile文件的末尾添加以下行:

    • 输入/复制/粘贴:

      JAVA_HOME=/usr/local/java/jdk1.7.0_45
      PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
      JRE_HOME=/usr/local/java/jre1.7.0_45
      PATH=$PATH:$HOME/bin:$JRE_HOME/bin
      export JAVA_HOME
      export JRE_HOME
      export PATH

  10. 10

    保存/etc/profile文件并退出。

  11. 11

    通知你的Ubuntu Linux系统你的Oracle Java JDK/JRE的位置。这将能让系统知道存在着新的可用Oracle Java版本。

    • 输入/复制/粘贴: sudo update-alternatives –install “/usr/bin/java” “java” “/usr/local/java/jre1.7.0_45/bin/java” 1
      • 该命令将提示系统存在这可用的Oracle Java JRE
    • 输入/复制/粘贴: sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/local/java/jdk1.7.0_45/bin/javac” 1
      • 该命令将提示系统存在这可用的Oracle Java JDK
    • 输入/复制/粘贴: sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/local/java/jre1.7.0_45/bin/javaws” 1
      • 该命令将提示系统存在这可用的Oracle Java Web start
  12. 12

    通知你的Ubuntu Linux系统把Oracle Java JDK/JRE作为默认Java。

    • 输入/复制/粘贴: sudo update-alternatives –set java /usr/local/java/jre1.7.0_45/bin/java
      • 该命令将为系统设置java运行环境
    • 输入/复制/粘贴: sudo update-alternatives –set javac /usr/local/java/jdk1.7.0_45/bin/javac
      • 该命令将为系统设置javac编译器
    • 输入/复制/粘贴: sudo update-alternatives –set javaws /usr/local/java/jre1.7.0_45/bin/javaws
      • 该命令将为系统设置Java Web start
  13. 13

    输入以下命令重载保存在文件/etc/profile内的系统范围内的PATH:

    • 输入/复制/粘贴: . /etc/profile
    • 注意,保存在文件/etc/profile内的系统范围内的PATH将在重启Ubuntu Linux system后被重载
  14. 14

    测试Oracle Java是否被正确地安装到了系统上。运行以下命令并注意Java的版本:

  15. 15

    成功地完成安装的32位Oracle Java将显示:

    • 输入/复制/粘贴: java -version
      • 该命令显示了运行在你的系统上的java的版本
    • 你将看到如下信息:
      • java version “1.7.0_45”
        Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
        Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode)
    • 输入/复制/粘贴: javac -version
      • 该命令将确认你可以在终端上编译Java程序。
    • 你将看到如下信息:
      • javac 1.7.0_45
  16. 16

    成功地完成安装的64位Oracle Java将显示:

    • 输入/复制/粘贴: java -version
      • 该命令将显示运行在你的系统上的java的版本
    • 你将看到如下信息:
      • java version “1.7.0_45”
        Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
        Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
    • 输入/复制/粘贴: javac -version
      • 该命令将确认你可以在终端上编译Java程序。
    • 你将看到如下信息:
      • javac 1.7.0_45
  17. 17

    恭喜你,你已经在Linux系统上安装好了Oracle Java。现在重启你的Ubuntu Linux系统。随后,你的系统将得到全面设置,可用于运行和开发Java程序。下一步,你可能需要尝试编译并运行你自己的Java程序,请参考下文如果在Ubuntu Linux上创建你的第一个Java程序

    广告

可选:如何在Web浏览器中启用Oracle Java

  1. 要在web浏览器中启用Java插件,你必须从web浏览器插件目录中建立一个符号链接,指向包含有Oracle Java的Java插件路径。

重要注意事项:由于存在着很多安全漏洞,我特别提醒你在web浏览器中启用Oracle Java 7是要特别小心。基本上,当你在web浏览器中启用了Oracle Java 7,如果你的web浏览器的安全漏洞被发掘出来,坏人将能入侵你的系统。要了解更多关于Java的安全漏洞,请查看以下网站:Java Tester

Google Chrome

32位Oracle Java指南 instructions:

  1. 执行以下命令。
    • 输入/复制/粘贴: sudo mkdir -p /opt/google/chrome/plugins
      • 这将创建名为/opt/google/chrome/plugins的目录
    • 输入/复制/粘贴: cd /opt/google/chrome/plugins
      • 这将让你进入到google chrome插件目录中,在创建符号链接前确保你位于该目录内
    • 输入/复制/粘贴: sudo ln -s /usr/local/java/jre1.7.0_45/lib/i386/libnpjp2.so
      • 这将把关于Java JRE( Java Runtime Environment )插件libnpjp2.so的符号链接创建到你的Google Chrome web浏览器

64位Oracle Java指南:

  1. 执行以下命令。
    • 输入/复制/粘贴: sudo mkdir -p /opt/google/chrome/plugins
      • 这将创建名为/opt/google/chrome/plugins的目录
    • 输入/复制/粘贴: cd /opt/google/chrome/plugins
      • 这将让你进入到google chrome插件目录,在创建符号链接前确保你位于该目录内
    • 输入/复制/粘贴: sudo ln -s /usr/local/java/jre1.7.0_45/lib/amd64/libnpjp2.so
      • 这将把关于Java JRE( Java Runtime Environment )插件libnpjp2.so的符号链接创建到你的Google Chrome web浏览器

提醒:

  1. 注意:当你执行以上命令时,有时会得到以下信息:
    • ln: creating symbolic link `./libnpjp2.so’: File exists
    • 要解决该问题,执行以下命令删除以前的符号链接:
    • 输入/复制/粘贴: cd /opt/google/chrome/plugins
    • 输入/复制/粘贴: sudo rm -rf libnpjp2.so
    • 在执行命令前确保你位于/opt/google/chrome/plugins目录内
  2. 重启浏览器并进入Java Tester测试Java是否在你的web浏览器内正常工作。

Mozilla Firefox

32位Oracle Java指南:

  1. 执行以下命令。
    • 输入/复制/粘贴: cd /usr/lib/mozilla/plugins
      • 这将让你进入到/usr/lib/mozilla/plugins目录,如果该目录不存在则创建它
    • 输入/复制/粘贴: sudo mkdir -p /usr/lib/mozilla/plugins
      • 这将创建目录/usr/lib/mozilla/plugins,在创建符号链接前确保你位于该目录内
    • 输入/复制/粘贴: sudo ln -s /usr/local/java/jre1.7.0_45/lib/i386/libnpjp2.so
      • 这将把关于Java JRE( Java Runtime Environment )插件libnpjp2.so的符号链接创建到你的Mozilla Firefox web浏览器

64位Oracle Java指南:

  1. 执行以下命令。
    • 输入/复制/粘贴: cd /usr/lib/mozilla/plugins
      • 这将让你进入到/usr/lib/mozilla/plugins目录,如果该目录不存在则创建它
    • 输入/复制/粘贴: sudo mkdir -p /usr/lib/mozilla/plugins
      • 这将创建目录/usr/lib/mozilla/plugins,在创建符号链接前确保你位于该目录内
    • 输入/复制/粘贴: sudo ln -s /usr/local/java/jre1.7.0_45/lib/amd64/libnpjp2.so
      • 这将把关于Java JRE( Java Runtime Environment )插件libnpjp2.so的符号链接创建到你的Mozilla Firefox web浏览器

提醒:

  1. 注意: 当你执行以上命令时,有时会得到以下信息:
    • ln: creating symbolic link `./libnpjp2.so’: File exists
    • 要解决该问题,执行以下命令删除以前的符号链接:
    • 输入/复制/粘贴: cd /usr/lib/mozilla/plugins
    • 输入/复制/粘贴: sudo rm -rf libnpjp2.so
    • 在执行命令前确保你位于/usr/lib/mozilla/plugins目录内
  2. 重启浏览器并进入Java Tester测试Java是否在你的web浏览器内正常工作。

小提示

  • 请注意本文档将持续更新,因为Oracle有时会变更Java JDK/JRE二进制文件的安装方法。
  • 请注意,在Oracle Java的新发布中,Oracle都将作出安全升级、错误修正以及性能的提升。在你的系统上安装Oracle Java时,请注意版本好的变化。查看如何在Ubuntu Linux上升级Oracle Java了解更多信息。
  • 在Ubuntu Linux上,你可以选择是否使用OpenJDK,这是一种免费和开源的Java编程语言的实施,你也可以使用Oracle Java JDK和JRE。有些用户倾向于使用Oracle Java (因为这是最新版本的Java而且是直接来自Java技术的维护者),但情况可能会有所不同。
Comments are closed.