多版本java共存和切换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a940902940902/article/details/80731822

多版本java共存和切换

​ 由于不同的项目编译依赖的java版本不同,很多时候需要在测试环境安装多版本jdk,方便不同版本的jdk进行切换。

一. 卸载

​ 首先需要确认当前环境中是否已经安装了jdk(linux中很多时候会内嵌openjdk),如果当前环境中的jdk与需求不符,则可以卸载当前jdk

sudo apt-get remove openjdk*

​ 删除全局JAVA_HOME,CLASSPATH,和PATH的设置,打开/etc/profile,或者/etc/bashrc或者 /etc/.bash_profile中删除类似如下语句:

export JAVA_HOME=/usr/lib/java/jdk170_80
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

​ 删除当前用户环境变量中的设置, cd ~ 打开~/.profile文件或者~/.bashrc文件,删除类似于上面那些环境变量设置的语句

二.安装配置环境变量

​ 下载解压不同版本的jdk(可以将不同的版本的jdk都放置在同一个文件夹下统一管理),配置当前用户环境变量 ,打开~/.bash_profile文件或者~/.bashrc文件


JAVA_HOME=/usr/java/jdk1.8.0_66
export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH

export CLASSPATH=.:$JAVA_HOME/lib/*

​ source .bash_profile

​ 查看当前java版本 java -version

​ 查看当前java 路径 which java

​ 除了上述方法外 可以使用alternatives命令,该命令常用于在同一个系统中安装同一款软件的不同版本的管理,其只能在root权限下使用。

说明:
alternatives --install <link> <name> <path> <priority>
其中,
install表示安装
link是符号链接
name则是标识符
path是执行文件的路径
priority则表示优先级

给jdk 1.7 设置序列号

alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_66 3

给 jdk1.8 设置序列号

alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_66 2

使用

[root@localhost ~]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@localhost ~]# alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /package/jdk1.8.0_121/java
   2           /package/jdk1.8.0_121/bin/java
 + 3           /package/jdk1.7.0_80/bin/java

Enter to keep the current selection[+], or type selection number: 2
[root@localhost ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

猜你喜欢

转载自blog.csdn.net/a940902940902/article/details/80731822