Ubuntu 22.04下Java环境的搭建(含多版本一键快速切换)

0-1开始Java语言编程之路
一、Ubuntu下Java语言环境搭建 | MacOS下使用Jenv管理多JDK版本
二、Ubuntu下Docker环境安装 | MacOS下Docker安装与配置
三、使用Docker搭建本地Nexus Maven私有仓库
四、Ubuntu下使用VisualStudioCode进行Java开发
五、从Swagger到OpenAPI,SpringBoot集成StepByStep
六、OpenAPI Generator Maven 插件配置详解(SpringBoot集成)

为什么需要多个版本的JAVA

在真正要安装多个版本的JDK之前,我们先想一个问题,为什么我们需要多个版本的JDK?
通常来讲,如果是生产环境的服务器,只会安装一个版本的Java运行时环境,因为我们在实际构建和部署我们的服务端应用时,只会基于某一个版本的JDK来构建和部署。例如,我们基于JDK8构建的应用,在部署的时候,对应的服务器上只需要Java 8 的运行时环境,因为我们也不会在一台服务器上部署两个不同的应用,而且还依耐不同的Java运行时环境。至于为什么是这样的,大家可以去理解一下面向对象的经典原则:单一职责原则,放以这里也同样适用。

我们这里所说的需要多个版本的Java,一般指的是我们在本地开发的时候,用于开发的电脑,通常是我们的台式机或者笔记本电脑需要安装不同版本的JDK。

我想大家进入一家公司,特别是一家成立若干年的公司,从公司创立起,到现在为此,从第一个Java服务,到现在最新开发的Java服务,大概率是基于不同的JDK版本开发的。那些在公司创立之初的系统,我们现在称之为legacy system。那么我们如果进入这样一家公司工作,大概率也会遇到要对这些legacy system 的代码进行维护的工作,这样新旧系统的开发和维护工作则很大概率需要我们在不同版本的JDK之间进行切换了。

Ubuntu下JDK安装的几种方式

方式一、通过APT 安装JDK

通过apt来安装JDK,目前只能用于安装Open-JDK,无法安装Oracle JDK,具体的安装方式如下:

sudo apt install openjdk-8-jdk

这条命令表示安装Open-JDK-8,其中openjdk-8-jdk 是需要安装的版本的名称,如果想要安装其它的版本,可以输入

sudo apt install openjdk- 

后,按**【tab】** 键,会展示更多的版本号,目前支持 8, 11, 17, 19, 21等版本。
在这里插入图片描述
通过apt install 的方式来安装Open-JDK,安装程序会将JDK安装至 /usr/lib/jvm/[xxxx]目录下边,大家可以自行查看。

方式二、参考Oracle 官方安装指引

首先下载对应版本的JDK安装文件,大家可以在下面的下载地址找寻自己想要安装的版本

Oracle JDK 下载
可以选择不同的版本,tar.gz 或者 .deb格式都可以。

下载tar.gz文件,手工安装

默认情况下,Ubuntu系统自带的jdk是安装在/usr/lib/jvm/目录底下,所以按照惯例,我们先将.tar.gz 文件移动到 /usr/lib/jvm/目录下边,再进行安装,参考如下命令:

sudo mv ~/下载/jdk-17_linux-x64_bin.tar.gz /usr/lib/jvm
cd /usr/lib/jvm
sudo tar zxvf jdk-22_linux-x64_bin.tar.gz

下载.deb 文件,通过dpkg安装

同理,如果下载的是.deb文件(因为Ubuntu是源于Debian的),则执行如下命令:

sudo dpkg -i jdk-22_linux-x64_bin.deb

同样的,该命令会将JDK安装至/usr/lib/jvm/jdk-22目录底下

方式三、~~(该方式已失效仅供参考)~~通过第三方PPA源方式安装OracleJDK

首先我们需要指定一个apt 源,但该源目前已经终止了

sudo add-apt-repository ppa:webupd8team/java
sudo apt update

大家可以自行尝试一下,看是不是同样的结果,大致意思就是2019年4月16号以后,要下载Oracle JDK,都必须登录Oracle账号,且OracleJDK最新的license协议表明Oracke JDK只能免费用于个人或开发使用。所以PPA源已经终止,不再提供服务了。

源: ‘deb https://ppa.launchpadcontent.net/webupd8team/java/ubuntu/ jammy main’
描述:
The Oracle JDK License has changed for releases starting April 16, 2019.
The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK licenses. The new license permits certain uses, such as personal use and development use, at no cost – but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here: https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html
Oracle Java downloads now require logging in to an Oracle account to download Java updates, like the latest Oracle Java 8u211 / Java SE 8u212. Because of this I cannot update the PPA with the latest Java (and the old links were broken by Oracle).
For this reason, THIS PPA IS DISCONTINUED.
UPDATE:
For Oracle Java 17, see a different PPA -> https://www.linuxuprising.com/2021/09/how-to-install-oracle-java-17-lts-on.html
Old description:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
The PPA supports Ubuntu 18.10, 18.04, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):- http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
-Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html更多信息:https://launchpad.net/~webupd8team/+archive/ubuntu/java
正在添加源。
按 [ENTER] 继续,或按 Ctrl-c 取消。

JAVA 环境的配置

上面已经提到了Ubuntu下JDK的几种不同安装方式,大家选择其一就好了。

在安装完JDK后,还需要进行JAVA环境的配置,不管是Linux也好,还是Windows也好,或者Mac OS也好,其实都会通过系统环境变量的方式来进行配置
有三个基本的环境变量需要我们进行配置

  • JAVA_HOME
  • JRE_HOME
  • CLASSPATH
    另外,我们也需要将$JAVA_HOME/bin目录加入至PATH环境变量中。

通常来讲,在Ubuntu下比较推荐的一种方式是修改/etc/environment文件,在该文件中加入如下内容:

JAVA_HOME="/usr/lib/jvm/jdk-17-oracle-x64"
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib


修改完 environment 文件后,需要使该配置生效

source /etc/environment

那么到目前为止,一个JDK版本的安装和配置就结束了。

那如果需要安装多个应该怎么办,实际上安装过程是一样的,只是在安装完后,我们需要手工修改一下环境变量的配置,以及使用update-alternatives命令来切换java的版本。

sudo update-alternatives --config java
sudo update-alternatives --config javac

这里只是列举了 java 和 javac 这两个java 命令,其它的工具包也可以通过此方式来进行版本的切换。

如何实现版本间的快速切换

那么问题来了,如果每一次切换,都需要手工修改环境变量,需要通过 update-alternatives --config来切换版本,想想也是很繁琐和麻烦的。
有没有更好的方式?
Y E S,当然是有的

这里我们需要结合一个java版本管理工具,jenv,以及简单的 shell 脚本来实现快速的切换。

  • jenv 负责Java版本的切换
  • 自定义shell 脚本负责环境变量的修改

因为有一些工具或者应用,会依赖JAVA_HOME环境变量来确定当前的JDK版本,比如:Visual Studio Code。
只所以需要自定义shell脚本,是因为jenv不负责环境变量的修改。

jenv 的安装和使用

第一步:下载jenv

git clone https://github.com/jenv/jenv.git ~/.jenv

第二步:将jenv加入PATH,并初始化。编辑~/.bashrc


#大家注意,这里只是临时这样操作,只是用于检测jenv是否安装好
#最后 .bashrc 文件还需要进行调整
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(jenv init -)"' >> ~/.bashrc
source ~/.bashrc

第三步:将已经安装好的各个版本的JDK本添加到jenv版本管理工具中。

jenv add /usr/lib/jvm/jdk-17-oracle-x64
jenv add /usr/lib/jvk/other-jdk-version

第四步:查看或切换版本

#查看已添加的JDK版本
jenv versions

#设置全局JDK版本
jenv global <jdk_version>

#仅设置当前目录的JDK版本
jenv local <jdk_version>

快速调整环境变量

第一步:创建一个目录用于保存配置文件和shell脚本

mkdir ~/jdk_env

第二步:准备各个JDK版本的环境变量配置文件,命名格式为:env_ora_jdk_version

JAVA_HOME="/usr/lib/jvm/jdk-17-oracle-x64"
JRE_HOME=${JAVA_HOME}/jre
CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

第三步:创建切换版本的shell脚本,简单起见,每一个JDK版本搭配一个shell脚本,命名为:env_4_jdk_17.sh

#!/bin/bash

echo Change JAVA_HOME Environment to Oracle JDK 17
sudo cp ~/jdk_env/env_ora_jdk_17 /etc/environment

#设置一个修改标识,.bashrc中会读取该修改标识
export ENV_CHANGE=1
source ~/.bashrc

#请注意版本号,可通过jenv versions查看
jenv global oracle64-17.0.9
java -version
echo JAVA_HOME : $JAVA_HOME
echo Change Environment Done!

第四步:编辑 ~/.bashrc 文件,在增加 alias

#第一部分:增加alias,快捷命令
alias jdk8='source ~/jdk_env/env_4_jdk_8.sh'
alias jdk17='source ~/jdk_env/env_4_jdk_17.sh'
alias jdk21='source ~/jdk_env/env_4_jdk_21.sh'


#第二部分:在.bashrc文件末尾增加以下内容

#这里是先配置默认PATH
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

#检查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

测试JDK 切换

source ~/.bashrc

jdk21

那么,本文到这里就已经结束,如果你的开发环境需要在不同JDK版本之间进行切换,希望本文能帮助到你,为你提升那么一丢丢的效率,实现一键切换JDK版本。

关注我的公众号

欢迎大家关注、点赞、转发,一起交流软件开发、架构设计、云原生技术。
TXZQ聊IT技术与架构

### 回答1: PSPICE 17.2 是一种用于电子电路仿真和分析的软件工具。下面是一份简单的 PSpice 17.2 使用初级教程: 1. 安装和启动:首先,你需要下载并安装 PSpice 17.2 软件。安装完成后,双击图标启动软件。 2. 创建电路:在软件界面上,选择“文件”>“新建”,然后在电路编辑器中创建你的电路。你可以从元件库中选择组件,并将其拖放到画布上。连接元件的引脚以构建电路。 3. 设置元件参数:双击元件以打开元件参数设置对话框。在对话框中,设置元件的值、名称和其他参数。对于电阻、电容等基本元件,可以直接输入数值。 4. 设置仿真配置:选择“仿真”>“设置和校验”,然后在仿真设置对话框中选择仿真的类型和参数。你可以选择直流分析、交流分析、暂态分析等。设置仿真参数后,点击“确定”。 5. 运行仿真:选择“仿真”>“运行”来启动仿真。在仿真过程中,软件将模拟电路的响应,并将结果输出到仿真波形窗口中。 6. 查看仿真结果:在仿真波形窗口中,你可以查看各个元件的电流、电压等参数随时间变化的波形。你还可以对波形进行放大、缩小、平移等操作,以更详细地分析电路的性能。 7. 保存和导出结果:在仿真过程中,你可以选择将结果保存为文件或导出为其他格式,如图像文件或数据文件。 以上是 PSpice 17.2 使用初级教程的基本步骤。随着实践的深入,你可以进一步了解复杂电路的建模和分析方法,并尝试更高级的功能和技术。 ### 回答2: PSPICE 17.2是一款电子电路仿真软件,用于对电路进行分析和验证。以下是PSPICE 17.2的使用初级教程: 1. 下载和安装:在官方网站上下载PSPICE 17.2并进行安装。 2. 组件库:打开PSPICE软件后,点击“Capture CIS”图标,进入组件库界面。选择适当的电子元件,如电阻、电容、二极管等,将它们拖放到画布上。 3. 电路连接:在画布上拖放所需元件后,使用导线工具连接它们。点击导线图标,选择合适的连接方式,并将其拖动到适当的端口上。 4. 参数设定:双击元件,弹出元件属性对话框。在这里设置元件的数值,例如电阻的阻值、电容的电容值等。 5. 电源设置:在画布上点击右键,选择“Power Sources”,然后选择适当的电源,如直流电源或交流电源。设置电源的电压或电流数值。 6. 仿真设置:点击画布上方的“PSpice”选项,选择“Edit Simulation Profile”打开仿真配置对话框。在仿真配置中,设置仿真参数,如仿真类型(直流、交流、脉冲等)、仿真时间等。 7. 仿真运行:在仿真配置对话框中点击“Run”按钮,开始进行电路仿真运行。仿真完成后,可以查看并分析仿真结果,如电流、电压、功率等。 8. 结果分析:通过菜单栏中的“PSpice>Probe”选项,打开特定信号的仿真结果。通过选择信号节点,可以显示该信号的波形、幅值和频谱等信息。 9. 数据输出:仿真结束后,可以通过“PSpice>Results”菜单栏选项,导出仿真结果到文本文件,以供后续分析。 10. 误差调整:如果仿真结果与预期不符,可以检查电路连接、元件参数等以找出问题。根据需要进行调整,重新运行仿真以验证改进效果。 以上就是PSPICE 17.2使用初级教程的简要介绍。在使用过程中,请参考软件的帮助文件和官方文档,以获取更详细的指导和解决方法。任何新的软件都需要不断的实践和尝试,希望这个教程能对你有所帮助。 ### 回答3: PSPICE 17.2是一款常用的电路仿真软件,用于电路设计和分析。下面是一个简要的PSPICE 17.2的初级教程: 1. 下载和安装:首先,从官方网站下载PSPICE 17.2,并按照安装向导进行安装。安装完成后,打开软件。 2. 创建新工程:在PSPICE 主界面上,点击“File”菜单,然后选择“New Project”来创建一个新的工程。给工程起一个适当的名字,并选择工程的存储位置。 3. 添加电路元件:在工程界面上,点击“Place”图标,然后选择不同的元件来构建你的电路。你可以从库中选择各种电子元件,如电阻、电容、电感等,并将它们拖放到工程界面上。 4. 连接元件:选择“Wire”图标,然后点击元件的引脚来连接它们。确保连接顺序正确,以保证电路的正确性。 5. 设置元件参数:对于每个添加的元件,你需要设置它们的参数。右键点击元件,选择“Edit Propertiess”,然后在弹出的窗口中输入适当的参数值。 6. 添加电源:在电路中添加电源,以提供电路所需的电能。选择“Place”图标,然后选择合适的电源元件并将其拖放到电路中。同样,设置电源的参数值。 7. 设置仿真配置:在工程界面上,点击“PSpice”菜单,然后选择“Edit Simulation Profile”来设置仿真配置参数。你可以选择仿真类型、仿真时间和仿真步长等。 8. 运行仿真:点击“PSpice”菜单,选择“Run”来运行仿真。PSPICE将自动运行仿真并显示结果。 9. 分析和优化:根据仿真结果,可以分析和优化电路的性能。你可以观察电流、电压和功率等参数,以评估电路的性能,并根据需要进行调整。 10. 保存和导出结果:在分析和优化完成后,可以保存你的工程并导出结果。点击“File”菜单,选择“Save Project”来保存工程,然后选择“Outut”菜单,选择“Export”来导出结果。 以上是PSPICE 17.2的初级教程的简要介绍。通过以上步骤,你可以开始使用PSPICE 17.2进行电路设计和仿真。在实践中不断探索和学习,你将成为一个熟练的PSPICE用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值