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

linux下jdk多版本管理的更多相关文章

  1. windows+linux下jdk安装及java环境变量配置

    对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以 ...

  2. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

  3. Linux下Jdk的安装和jdk环境变量的设置

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  4. 解决Linux下jdk版本与安装版本不一致

    解决Linux下jdk版本与安装版本不一致 在Linux下安装jdk后,利用java -version查看版本使,发现不是自己所安装的jdk版本; 解决方案: which java ——查看默认的jd ...

  5. linux下jdk环境变量配置深度分析----解决环境变量不生效的问题

    1.linux下jdk环境变量配置 是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本 1.1 不需要配置环境变量的情况 使用java -version查看,版本显示 ...

  6. Linux下jdk的安装和环境变量的配置

    Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  7. Linux下 JDK安装

    在linux下安装JDK步骤如下: 第一步:查看Linux自带的JDK是否已安装 (1)查看jdk: [root@web-server ~]# rpm -qa|grep jdk ← 查看jdk的信息或 ...

  8. Linux下JDK、Tomcat

    1.JDK的安装   1. 下载JDK 先查看Linux系统是多少位(32位/64位):getconf  LONG_BIT.再从JDK官网(http://www.oracle.com/technetw ...

  9. linux 下 jdk+tomcat+mysql 的 jsp 环境搭建

    JDK 在 linux 下安装 1.          把安装文件放在 /opt 下,并执行 [root@localhost opt]# ./jdk-1_5_0_06-linux-i586.bin 并 ...

随机推荐

  1. [转载]Linux 卸载JDK并安装新版本JDK (rpm,tar)

    FROM:http://josh-persistence.iteye.com/blog/1908549 一.查看Jdk的安装路径: whereis javawhich java (java执行路径)e ...

  2. vscode - 安装离线插件

    打开网站(示例): https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow 下载扩展 vscode 安装离 ...

  3. vue笔记三(组件)

    十.组件 1.组件中的data为函数 2.props: 父组件向子组件传递数据 子组件:Child.vue <template> <span>{{ myMsg }}</s ...

  4. 【Excle数据透视表】如何在数据透视表顶部显示列总计数据

    解决方案 创建组并修改组名称为“合计” 如下图:原始数据透视表 步骤 选中列标签区域→右键→组合 修改组合的名称为“合计” 此时底部会有一个合计汇总项,只需要单击数据透视表任意单元格→数据透视表工具→ ...

  5. 修改pip源为国内网站

    import os,sys,platformini="""[global]index-url = https://pypi.doubanio.com/simple/[in ...

  6. 40: Redraiment的走法(不连续最长子字符串)

    题目描述 :   Redraiment是走梅花桩的高手.Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗? 样例输 ...

  7. jquery的json的遍历

    jquery遍历解析json对象1: var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}]; for(var i=0,l=json.l ...

  8. Away3D引擎学习笔记(二)CameraController相机控制的应用

    cameraController---相机控制器 这里针对Away3D里面封装的CameraController的区别和使用做些简单介绍.相机控制器的设计思路比较清晰,所以难点东西不多.使用方面附上源 ...

  9. jquery的on()

    定义和用法 on() 方法在被选元素及子元素上添加一个或多个事件处理程序. 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() 方法的新的替代品 ...

  10. Sphinx之配置文件

    # # Sphinx configuration file sample # # WARNING! While this sample file mentions all available opti ...