首页 > 系统相关 >ubuntu下多jdk环境轻松却换

ubuntu下多jdk环境轻松却换

时间:2024-05-08 17:11:07浏览次数:26  
标签:bin JAVA jdk ubuntu jenv PATH HOME 下多

在实际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

标签:bin,JAVA,jdk,ubuntu,jenv,PATH,HOME,下多
From: https://www.cnblogs.com/dw039/p/18180276

相关文章

  • 安装jdk
    jdk包名'-x64表示适用于基于x86-64(64位)架构的处理器。'-i586表示适用于基于x86(32位)架构的处理器。'.bin文件通常是独立的安装程序'.rpm文件是针对特定的RPM-based发行版(如RedHat、CentOS等)而设计的'.bin安装给特殊权限然后./包名'.rpm安装rpm-ivh包名......
  • Ubuntu常用防火墙命令
    常用防火墙命令的总结#查看防火墙状态,inactive是关闭状态,active是开启状态sudoufwstatus#开启防火墙sudoufwenable#启动默认防御,作用#关闭所有外部对本机的访问(本机访问外部正常)sudoufwdefaultdeny#关闭防火墙sudoufwdisable#禁用防火墙sudoufwallow|......
  • Tensorflow object detection API (ubuntu18.04) 安装和踩坑;
    踩坑:将slim和models路径加入虚拟环境中;将slim和models路径加入系统路径中;(加入系统路径的时候,这个pwd) qit(持续更新)具体安装流程:(很多问题)2.0版本;(继续更新)condacreate-ntf_obj_det_api_v2python=3.8 (很丝滑)重新尝试tf1.0版本;参考:https://blog.csdn......
  • fedora 40 迁移 kubuntu 24 (ubuntu)
    前言https://kubuntu.org/getkubuntu/国内很多软件都是偏好deb包的,fedora(cinnamon)也能用,就是得装一个沙箱环境flatpak,不与系统共享lib,往往导致/var/lib/flatpak非常臃肿:8G~15G。用不惯gnome,我习惯了windows的操作习惯,主要是想加上最大化、最小化按钮,宁愿用户额外装个包,也不愿......
  • 安装 Ubuntu
    (01)获取Ubuntu24.04Ubuntu24.04(NobleNumbat):下载[1] 从以下网站下载Ubuntu24.04(2024年4月25日发布,支持至2034年4月底)。https://cdimage.ubuntu.com/releases/24.04/release/ 为Ubuntu24.04(U盘)创建安装介质  将ISO映像写入U盘,为Ubuntu24.04创建......
  • 在IDEA中加载OpenJDK源码
    之所以要阅读OpenJDK源码,是因为SunJDK的某些源码是缺失的,以JDK1.8为例,sun.reflect,sun.rmi及其子包下的类都是没有源码的。如下以下载OpenJDK1.8源码为例进行说明。下载OpenJDK源码文件,如下载zip格式的压缩包。解压OpenJDK源码压缩包文件,在IDEA中按如下路径加载:【File】......
  • ubuntu 上安装pytorch-cuda
    安装nvidia驱动不再赘述安装gcc环境sudoapt-getinstallbuild-essentialsudoportaudio19-devunzipx11-utils1build-essential用于安装一个软件包集合,其中包含了编译软件时经常需要使用的工具和库。这个软件包集合通常包括编译器(如gcc)、make工具、头文件等。build......
  • Ubuntu 22.04.4 LTS 安装java
    记录一次Ubuntu22.04.4LTS安装java检查是否有自带安装jdkdpkg--list|grep-ijdk如果存在则卸载创建安装路径cd/usr/local/mkdirjavacdjava/解压java安装包tar-zxvf/home/to_install/jdk-8u281-linux-x64.tar.gz-C./解压完成后,/usr/local/java目录下......
  • Ubuntu18 安装NoMachine远程桌面(解决远程桌面延迟)
    #问题:Ubuntu18使用自带的共享桌面、VNC远程桌面延迟、降低分辨率也无效。#方案:最后找到安装NoMachine的远程桌面,解决远程卡顿问题根据自己操作系统选择NoMachineforLinux进行下载官网:https://downloads.nomachine.com/#出处:#https://www.cnblogs.com/liucx/#安装方......
  • Ubuntu多版本CUDA安装与切换(转载)
    https://qiyuan-z.github.io/2022/01/04/Ubuntu%E5%A4%9A%E7%89%88%E6%9C%ACcuda%E5%AE%89%E8%A3%85%E4%B8%8E%E5qiyuan-z.github.io /2022/01/04/Ubuntu%E5%A4%9A%E7%89%88%E6%9C%ACcuda%E5%AE%89%E8%A3%85%E4%B8%8E%E5%88%87%E6%8D%A2/Ubuntu多版本CUDA安装与切换2022/1/4......