zoukankan      html  css  js  c++  java
  • CentOS 7 下安装jdk1.8(转)

    原文:https://blog.argcv.com/articles/3155.c

    CentOS 7下目前默认是jdk1.6和1.7。若需要更高版本的1.8,我们就需要一点额外的手段了。 首先,我们需要从这个页面下个最新版本的jdk. Oracle提供rpm包和tar.gz包.为了省事,直接下载个rpm包完事.

    若远程直接用wget下载,有时候有一点问题,需要加点参数来帮忙.参考此处.

    下载完成后,可以用rpm命令安装,不过懒人更喜欢用yum搞定。

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    # yum localinstall jdk-8u20-linux-x64.rpm -y
    ...
    Resolving Dependencies
    --> Running transaction check
    ---> Package jdk1.8.0_20.x86_64 2000:1.8.0_20-fcs will be installed
    --> Finished Dependency Resolution
    ...
    Installed:
      jdk1.8.0_20.x86_64 2000:1.8.0_20-fcs
     
    Complete!

    安装完毕后,为了节省空间,rpm包也可以删除了.

    这套jdk其实是在/usr/java目录下配置了一套环境。查看此目录,我们可以看到目录下多了个jdk1.8.0_20,同时用软链链接到了default和last两个目录下.

    1
    2
    3
    4
    5
    6
    7
    $ ls -al /usr/java
    total 12
    drwxr-xr-x.  3 root root 4096 Oct 13 22:10 .
    drwxr-xr-x. 15 root root 4096 Jul 31 04:27 ..
    lrwxrwxrwx.  1 root root   16 Oct 13 22:10 default -> /usr/java/latest
    drwxr-xr-x.  9 root root 4096 Oct 13 22:10 jdk1.8.0_20
    lrwxrwxrwx.  1 root root   21 Oct 13 22:10 latest -> /usr/java/jdk1.8.0_20

    但到目前为止它并没有被实际使用.我们需要通过alternative工具来管理.

    因为软链接的原因,若我们将此次配置的内容指向/usr/java/default/bin/xxx , 以后安装jdk 1.9乃至2.0的话,只要直接修改下软链接即可,而不必再这么搞一遍. 因此下面我将使用 /usr/java/default/ 为新的java home。

    但是,偶然路过的你,若并不打算这么搞,而是希望指定使用jdk1.8.0_20这个版本而不希望有改变,请自行将default替换为jdk1.8.0_20。下面类似情况皆是如此,敬请注意。

    首先,我们先查看下当前的alternative环境.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # alternatives --config java
     
    There is 1 program that provides 'java'.
     
      Selection    Command
    -----------------------------------------------
    *+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
     
    Enter to keep the current selection[+], or type selection number: ^C

    我们注意到,alternatives中已经有了一个java,而我们的目标就是在不破坏原来环境的情况下增加的一个1.8.当然,一切完毕后,诸位也可以试着自行删掉rpm包安装的那份.

    我们首先将java加入alternative

    1
    # alternatives --install /usr/bin/java java /usr/java/default/bin/java 2

    几个参数都比较好懂,就是将可执行文件/usr/java/default/bin/java软链接到/usr/bin/java,配置名为java,最后一个参数2是因为我们之前就看到,我们已经有了一个java了,所以index选择为2.

    然后继续配置

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    # alternatives --config java
     
    There are 2 programs which provide 'java'.
     
      Selection    Command
    -----------------------------------------------
    *+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
       2           /usr/java/default/bin/java
     
    Enter to keep the current selection[+], or type selection number: 2

    我们发现多出来了一个选择,指向我们新安装的/usr/java/defalut/bin/java 。选择该命令即可。

    再去查看:

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    # alternatives --config java
     
    There are 2 programs which provide 'java'.
     
      Selection    Command
    -----------------------------------------------
    *  1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64/jre/bin/java
     + 2           /usr/java/default/bin/java
     
    Enter to keep the current selection[+], or type selection number: 2

    我们发现+号已经移到了下面.

    同样的,我们再配置下剩余的

    1
    2
    3
    4
    # alternatives --install /usr/bin/jar jar /usr/java/default/bin/jar 2
    # alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 2
    # alternatives --set jar /usr/java/default/bin/jar
    # alternatives --set javac /usr/java/default/bin/javac

    这样就搞定了.

    最后,我们可以验证下:

    1
    2
    3
    4
    5
    6
    $ java -version
    java version "1.8.0_20"
    Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
    Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
    $ javac -version
    javac 1.8.0_20

    最后,我们可能需要配置一下环境变量。 环境变量普通用户下配置即可。 可以直接写

    1
    $ export JAVA_HOME=/usr/java/default

    以及其他blabla。

    不过,我们也可以将其写入配置文件。具体根据使用shell而定。若使用的是bash,可以在~/.bashrc或者~/.bash_profile中添加内容如下:

    1
    2
    3
    export JAVA_HOME=/usr/java/default
    export JRE_HOME=/usr/java/default/jre
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

    参考:

  • 相关阅读:
    SSRS 2012 创建ReportServer数据库失败: The RPC server is not listening. (Exception from HRESULT: 0x800706B3)
    关于SSIS包调用,把Execute out of Process 设成True后运行失败问题
    Mark:Insert, Update, and Delete Destination table with SSIS
    转SSIS 2012 pass values from child package to parent with project deployment model
    [转]SSIS Parameter和Variable的区别
    转SQL SERVER – SSIS Parameters in Parent-Child ETL Architectures – Notes from the Field #040
    简单的plsql to tsql ,游标拆解
    TSQL 根据表名生成UPDATE SELECT INSERT
    SPLIT CURSOR INTO ROWSET DML
    c/c++ tricks
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/7376157.html
Copyright © 2011-2022 走看看