您已经创建了一个非常实用的shell函数 setJavaHome 来切换不同版本的JDK环境。这个函数定义了如何根据传入的参数来更改 JAVA_HOME 环境变量,并更新 PATH 环境变量以包含新的 JAVA_HOME 路径。

要在Ubuntu 22.04上安装多个JDK版本并使用这个函数来切换它们,您需要按照以下步骤操作:

1. 安装JDK

首先,确保您已经安装了所需的JDK版本。您可以使用OpenJDK,也可以选择Oracle JDK。以下是使用OpenJDK作为例子的安装命令:

sudo apt updatesudo apt install openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk

对于JDK 21,如果它在Ubuntu 22.04的官方仓库中不可用,您可能需要从其他来源手动下载并安装。

2. 配置 ~/.bashrc

~/.bashrc 文件中添加您已经定义的 setJavaHome 函数。使用您喜欢的文本编辑器打开 ~/.bashrc 文件:

nano ~/.bashrc
# Java 环境切换setJavaHome() {case $1 in8)export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_202;;11)export JAVA_HOME=/usr/lib/jvm/jdk-11.0.21;;17)export JAVA_HOME=/usr/lib/jvm/jdk-17.0.9;;21)export JAVA_HOME=/usr/lib/jvm/jdk-21.0.1;;*)echo "Unsupported Java version: $1"return 1esacexport PATH=$JAVA_HOME/bin:$PATHecho "JAVA_HOME set to $JAVA_HOME"java -version}

然后将 setJavaHome 函数的定义粘贴进去,并保存退出编辑器。

3. 应用更改

~/.bashrc 中的更改生效:

source ~/.bashrc

4. 使用函数切换JDK版本

现在,您可以通过调用 setJavaHome 函数来切换JDK版本。例如,运行 setJavaHome 11 会将当前会话的JDK切换为11。

注意事项

  • 确保JDK的安装路径与 setJavaHome 函数中定义的路径相匹配。
  • setJavaHome 函数仅在当前的shell会话中有效。每次新开一个终端时,您需要再次运行它来设置所需的JDK版本。
  • 为了更持久地设置JDK版本,您可以在需要的时候运行 setJavaHome 命令,或者将特定的JDK版本设置为默认版本。