ubuntu下多jdk环境轻松却换
在实际coding生活中,维护老项目与开发新项目常是并行的。快速企业java开发jdk版本,收首先要解决的问题。
今天看到一篇Blog,参考配置后完美实现了一键快速切换,nice!!!!!!
环境:
1、ubuntu 22
2、openjdk1.8、openjdk17
具体操作步骤:
1、安装openjdk(略),安装位置如下:
2、jdk17释放 jre
bin/jlink --module-path jmods --add-modules java.desktop --output jre
3、jenv 的安装和使用,下载
git clone https://github.com/jenv/jenv.git ~/.jenv
4、将jenv临时加入环境变量,先让其可以管理java环境
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(jenv init -)"' >> ~/.bashrc source ~/.bashrc
5、将不同jdk加入到jenv中(add 路径写自己的哦)
jenv add /usr/lib/jvm/java-8-openjdk-amd64 jenv add /usr/lib/jvm/java-17-openjdk-amd64
检查是否加入成功
jenv versions
6、快速调整环境变量
6.1 创建一个文件夹来存储不同jdk环境变量配置文件与切换脚本
mkdir ~/jdk_env
6.2 创建各个jdk对应的环境变量文件
openjdk8的环境变量文件:env_open_jdk_8
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 JRE_HOME=${JAVA_HOME}/jre CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
openjdk17的环境变量文件:env_open_jdk_17
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
6.3 创建环境变量切换脚本:
open_jdk_8.sh代码如下:
#!/bin/bash echo Change JAVA_HOME Environment to Open JDK 1.8 sudo cp /home/tomcat/jdk_env/env_open_jdk_8 /etc/environment #设置一个修改标识,.bashrc中会读取该修改标识 export ENV_CHANGE=1 source ~/.bashrc #请注意版本号,可通过jenv versions查看 jenv global openjdk64-1.8.0.402 java -version echo JAVA_HOME : $JAVA_HOME echo Change Environment Done!
open_jdk_17.sh,仅需修改上面红色标注部分(略)
6.4、编辑用户环境变量文件.bashrc,在文件末尾增加如下内容:
#第一部分:增加alias,快捷命令,这里写自己的脚本位置 alias jdk8='source /home/tomcat/jdk_env/open_jdk_8.sh' alias jdk17='source /home/tomcat/jdk_env/open_jdk_17.sh' #第二部分:在.bashrc文件末尾增加以下内容 #我这里根据自己的需求增加了node和maven相关环境变量配置 #SET PATH FOR NODEJS export NODE_HOME=$HOME/.node-v16 #SET PATH FOR MAVEN export MAVEN_HOME=$HOME/.maven-3.9.6 #这里是先配置默认PATH,maven、node相关的根据自己需求来 export PATH=$MAVEN_HOME/bin:$NODE_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin PATH=$HOME/.jenv/bin:$PATH #检查JRE_HOME的值是否已经设置好,如果未设置好,则读取一下配置 if [ "$JRE_HOME" = '${JAVA_HOME}/jre' -o "$ENV_CHANGE" = '1' ]; then source /etc/environment export ENV_CHANGE=0 fi #增加jenv 以及 java home到 PATH export PATH="$HOME/.jenv/bin:$JAVA_HOME/bin:$PATH" eval "$(jenv init -)" #执行完 上有条 eval "$(jenv init -)" 后,JAVA_HOME 会失效,需要重要加载一下JAVA环境变量 if [ -z "$JAVA_HOME" ]; then source /etc/environment fi
6.5、应用测试
使环境变量生效:
source ~/.bashrc
测试jdk环境切换:
jdk8
完美!!!
参考Blog:https://blog.csdn.net/u011278722/article/details/137354015
作者:DW039
出处:http://www.cnblogs.com/dw039
本文由DW039原创并发布于博客园,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。