zoukankan      html  css  js  c++  java
  • Download failed : Oracle JDK 7 is NOT installed,解决oracle jdk7的问题

    先了解下概念:

    jdk(java development kit),就是java的开发工具集,顾名思义就是做开发用的,其中包括javac,也就是java compiler等。
    jre(java runtime environment),就是java程序的运行环境。所写的java程序在经过javac编译后会形成字符行文件,这个java的中间文件,计算机是看不懂的,而这个文件是给jvm(java的虚拟机)用的,由jvm进行解释后形成机器语言给计算机。而这个jvm就在jre中,也就是说java程序的运行要有jre来担当。
    所以jdk和jre的区别就是一个用于开发,一个用于运行,联系就是它们都是java开发者所必备的。
    JDK > JRE,也就是说JDK已经包含了JRE,安装JDK时候如果没有JRE,会自动安上

    ubuntu本地安装东西的时候,老是会遇到:

    download failed
    Oracle JDK 7 is NOT installed.
    dpkg: error processing oracle-java7-installer (--configure):
     subprocess installed post-installation script returned error exit status 1

    官网看,不再支持6和7了:

    安装ORACLE JAVA 8

    INSTALL ORACLE JAVA 8 IN UBUNTU OR LINUX MINT VIA PPA REPOSITORY [JDK8]

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java8-installer

    ok

    dahu@dahu-OptiPlex-3046:~$ java -version
    java version "1.8.0_144"
    Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

    如果还不是,可能本地装了其他版本的java,

    查看java程序的安装位置:

    dahu@dahu-OptiPlex-3046:~$ whereis java
    java: /usr/bin/java /usr/share/java /opt/jdk1.8.0_72/bin/java /usr/lib/jvm/java-8-oracle/bin/java /usr/lib/jvm/java-8-oracle/jre/bin/java /usr/share/man/man1/java.1.gz

    查看环境变量位置,如果出错,可能是环境变量里,先放的位置的java程序被执行了,如下,/usr/local/jvm/jdk8/bin 这里的java先被执行了,而我刚刚装的/usr/lib/jvm/java-8-oracle/bin在后面,这也是排查错误的一个方式

    dahu@dahu-OptiPlex-3046:~$ echo $PATH
    /usr/local/jvm/jdk8/bin:/home/dahu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
    /usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin

    也可以查看看.bashrc文件,设置javahome位置

    dahu@dahu-OptiPlex-3046:~$ tail -n3 ~/.bashrc
    export JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
    export PATH=${JAVA_HOME}/bin:$PATH

    安装openjdk

    这个并不能解决开头的错误,只是装另一个jdk而已,参考的是给力星hadoop的安装教程

    Java环境可选择 Oracle 的 JDK,或是 OpenJDK,按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的,新版本在 OpenJDK 1.7 下是没问题的。为图方便,这边直接通过命令安装 OpenJDK 7。

    sudo apt-get install openjdk-7-jre openjdk-7-jdk

    安装好 OpenJDK 后,需要找到相应的安装路径,这个路径是用于配置 JAVA_HOME 环境变量的。执行如下命令:

    dpkg -L openjdk-7-jdk | grep '/bin/javac'

    该命令会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了。如输出路径为 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac,则我们需要的路径为 /usr/lib/jvm/java-7-openjdk-amd64。

    接着配置 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置(扩展阅读: 设置Linux环境变量的方法和区别):

    vim ~/.bashrc

    在文件最前面添加如下单独一行(注意 = 号前后不能有空格),将“JDK安装路径”改为上述命令得到的路径,并保存:

    export JAVA_HOME=JDK安装路径

    如下图所示(该文件原本可能不存在,内容为空,这不影响):

    配置JAVA_HOME变量

    配置JAVA_HOME变量

    接着还需要让该环境变量生效,执行如下代码:

    source ~/.bashrc # 使变量设置生效

    设置好后我们来检验一下是否设置正确:

    echo $JAVA_HOME # 检验变量值
    java -version
    $JAVA_HOME/bin/java -version # 与直接执行 java -version 一样

    如果设置正确的话,$JAVA_HOME/bin/java -version 会输出 java 的版本信息,且和 java -version 的输出结果一样,如下图所示:

    成功配置JAVA_HOME变量

    成功配置JAVA_HOME变量

  • 相关阅读:
    做到就得到,人生成功的启示
    这个世界没什么过不去的事情,记我的经历
    要想富,先读书,没有文化要吃一辈子的亏
    git学习笔记11-git多人协作-实际多人怎么开发
    git学习笔记10-新开发的功能不想要了-强行删除分支
    git学习笔记09-bug分支-自己的分支改到一半了-要去改bug怎么办?
    git学习笔记08-分支管理策略-实际上我们应该怎么应用分支
    git学习笔记07-冲突了怎么办-那就解决冲突呗
    git学习笔记06-创建分支合并分支-比svn快多了,因为只有指针在改变
    git学习笔记05-从远程库克隆
  • 原文地址:https://www.cnblogs.com/dahu-daqing/p/7327547.html
Copyright © 2011-2022 走看看