zoukankan      html  css  js  c++  java
  • linux下jdk多版本管理

    linux下jdk多版本管理

    项目开发中,不管是哪种语言都避免不了多个版本环境管理问题(本文虽然以jdk为例来写的,但不仅限于jdk),如何能做到快速的环境升级与切换确实是一件深思的事!

    安装jdk

    实验安装两个版本:

    下载
    • wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
    • wget http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
    安装

    我把它安装到/opt中。

    • tar -zxvf jdk-7u80-linux-x64.tar.gz
    • 在/opt 创建目录:sudo mkdir java
    • sudo mv jdk1.7.0_80 /opt/java

    jdk8的方式也是一样。

    创建软连接
    • sudo ln -s jdk1.7.0_80 jdk
    • 默认使用jdk7
    更改环境变量
    • echo $PATH 输出下,其实这个相当于window系统下的path

    • cd ~ 进入到家目录

    • sudo vi .bashrc

    • 最后加入:export PATH=/opt/java/jdk/bin:$PATH

    • source .bashrc

    • 此时直接可以输出:java -verson,为java7

    直接在 /etc/profile修改即可:

    export JAVA_HOME=/opt/java/
    export PATH=$JAVA_HOME/bin:$PATH 

    如果有天环境要做升级的话,比如要把jdk7升级到jdk8,我们只需要更改软连接地址:

    • 把原来的jdk软连接删除掉
    • 重新生成:sudo ln -s jdk1.8.0_144 jdk
    • 此时已经升级完成

    综述

    以上版本管理的方式在linux中随处可见,比如python都是采用软连接的形式。

    基于jenv工具管理

    • git clone https://github.com/gcuisinier/jenv.git ~/.jenv
    • cd ~ 会发现多出一个文件夹.jenv,这个就是jenv的软件包
    • 把jenv目录导入到环境变量 echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile

      echo 'eval "$(jenv init -)"' >> ~/.bash_profile

      source ~/.bash_profile

    此时输入:jenv 会输出信息:jenv 0.4.3-18-g66bb5b1

    以上已经安装了jdk,我们只需要把jdk加入到jenv即可:

    • jenv add /opt/jdk1.7.0_80
    • jenv add /opt/jdk1.8.0_144
    看当前使用的java所在路径

    jenv which java

    查看可以设置的java版本

    jenv versions

    使用某个版本的JDK(全局)

    jenv global 1.8

    去掉某些没有的版本

    jenv remove 1.8.0.144

  • 相关阅读:
    Longest Palindromic Substring
    PayPal MLSE job description
    Continuous Median
    Remove Duplicates From Linked List
    Valid IP Address
    Longest substring without duplication
    Largest range
    Subarray sort
    Multi String Search
    Suffix Trie Construction
  • 原文地址:https://www.cnblogs.com/tianboblog/p/7382908.html
Copyright © 2011-2022 走看看