如何在多个java版本之间随意切换Java环境

软件开发和测试中经常要在不同的Java版本之间来回切换,最常见的是从其他Java版本(Java9,Java10,Java11)切换到Java8, 特别是使用Scala,Spark,目前还只是支持java8,必须切换到java8环境,否则无法正常编译和运行.

这个问题,我有个比较好的解决办法:
创建一个目录,存放一下java8 java11 2个环境切换脚本.

/Users/happy/happyscript
happy:happyscript happy$ ls
java11 java8
happy:happyscript happy$

happy:happyscript happy$ which java
/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java

cd /Library/Java/JavaVirtualMachines/
$ ls
jdk-10.0.1.jdk jdk-11.jdk jdk1.8.0_102 jdk1.8.0_181.jdk

发现原来macbook 上的java 都安装在这里.
下面创建2个java8,java11 脚本,内容如下:

happy:happyscript happy$ more java8
#!/bin/bash

#这个程序请用 source java8 执行,环境变量才能保存在当前shell环境里.
echo “这个程序请用 source java8 执行,环境变量才能保存在当前shell环境里.”

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
echo JAVA_HOME is $JAVA_HOME

arr=$(echo $PATH | tr : ‘\n’)
PATH=""

strB=“JavaVirtualMachines”
myNewPath=""
for x in $arr; do
echo x e c h o " x echo " xecho"{x}" | grep -q " s t r B " r e s u l t = {strB}" result= strB"result=?
echo “result= r e s u l t x = {result} x= resultx={x} strB=${strB}”

if [[ $x = *"JavaVirtualMachines"* ]]; then
     echo $x
else
     export myNewPath=$myNewPath:$x
fi

done

export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:myNewPath
echo $PATH
java -version

$ more java11
#!/bin/bash
#这个程序请用 source java11 执行,环境变量才能保存在当前shell环境里.
echo “#这个程序请用 source java11 执行,环境变量才能保存在当前shell环境里.”
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
echo JAVA_HOME is $JAVA_HOME

arr=$(echo $PATH | tr : ‘\n’)
PATH=""

strB=“JavaVirtualMachines”
myNewPath=""
for x in $arr; do
echo x e c h o " x echo " xecho"{x}" | grep -q " s t r B " r e s u l t = {strB}" result= strB"result=?
echo “result= r e s u l t x = {result} x= resultx={x} strB=${strB}”

if [[ $x = *"JavaVirtualMachines"* ]]; then
     echo $x
else
     export myNewPath=$myNewPath:$x
fi

done

export PATH= m y N e w P a t h : myNewPath: myNewPath:JAVA_HOME/bin
echo $PATH

vi ~/.bash_profile

添加你刚才保存脚本的路径
#java_home change by java8,java11 shell command
export PATH=$PATH:/{你的路径脚本路径}

source ~/.bash_profile
好了。现在可以测试一下了。

source java11
在这里插入图片描述

source java8

在这里插入图片描述

到此,测试成功,可以方便的使用了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值