2026/1/13 16:43:51
网站建设
项目流程
网站做后台,mvc做网站,阿里巴巴运营流程,网站建设帝国一、概述
当不同项目可能需要不同Java版本#xff0c;这时我们需要在同一台机器上安装多个版本的JDK#xff0c;并能够方便地切换。主要通过以下步骤实现#xff1a;
下载JDK#xff1a;从Oracle官网或OpenJDK网站下载所需的JDK版本。安装JDK#xff1a;可以将不同版本的…一、概述当不同项目可能需要不同Java版本这时我们需要在同一台机器上安装多个版本的JDK并能够方便地切换。主要通过以下步骤实现下载JDK从Oracle官网或OpenJDK网站下载所需的JDK版本。安装JDK可以将不同版本的JDK安装到不同的目录。例如将JDK 8安装在/usr/lib/jvm/jdk-8将JDK 11安装在/usr/lib/jvm/jdk-11。配置环境变量为不同版本的jdk创建对应的JAVA_HOME再创建一个通用的JAVA_HOME。切换JDK版本将需要应用的jdk版本的JAVA_HOME赋值给这个通用的JAVA_HOME。验证版本使用java -version命令验证当前使用的JDK版本。二、Windows 环境多个JDK安装与切换2.1 下载jdk去Oracle官网上下载想要安装的jdk版本https://www.oracle.com/java/technologies/downloads/。2.2 安装jdk双击.exe文件选择好安装目录进行安装。多个版本的jdk重复这两步操作就好。2.3 配置环境变量首先找到jdk安装的目录。在环境变量中新增不同jdk版本的JAVA_HOME。创建一个通用的JAVA_HOME将需要使用的jdk版本的JAVA_HOME赋值给这个通用的JAVA_HOME。配置Path环境变量编辑Path变量在后面添加两条变量。如果之前配置过其他的jdk的path变量的话就先把之前的配置删除重新添加下面两条。并且这两条需要移动到最前面不然后续无法切换jdk版本。%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;配置CLASSPATH环境变量编辑CLASSPATH变量在后面添加下面的配置如果之前有配置过也先删除再重新配置。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;2.4 切换JDK版本编辑通用的JAVA_HOME变量的值将需要应用的jdk的JAVA_HOME值赋值给通用的JAVA_HOME变量。2.5 验证版本使用以下命令进行验证当前jdk版本信息# 检查当前Java版本java-version# 检查Javac版本javac-version三、Mac 环境多JDK安装与切换3.1 下载jdk去Oracle官网上下载想要安装的jdk版本M芯片选择arm架构的.bmg格式的文件。https://www.oracle.com/java/technologies/downloads/。3.2 安装jdk双击下载的文件安装步骤一步步点继续就好。3.3 配置环境变量安装完成后会在/Library/Java/JavaVirtualMachines目录下看到安装的jdk信息。打开终端进入到/root目录下通过open .bash_profile命令打开并编辑.bash_profile文件如果不存在这个文件就创建一个这个名字的文件。exportJAVA_8_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/HomeexportJAVA_21_HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/HomeexportPATH$JAVA_HOME/bin:$PATH:.aliasjdk8export JAVA_HOME$JAVA_8_HOMEaliasjdk21export JAVA_HOME$JAVA_21_HOME编辑完成之后执行source .bash_profile让配置文件生效。再使用java -version命令查看jdk版本信息。3.4 切换JDK版本可以根据上面配置的版本别名进行切换。3.5 验证版本使用以下命令进行验证当前jdk版本信息# 检查当前Java版本java-version# 检查Javac版本javac-version四、Linux 环境多JDK安装与切换4.1 下载jdk创建统一的安装目录# 创建 JDK 安装目录sudomkdir-p/usr/local/src/jdkssudochmod755/usr/local/src/jdks下载 JDK# 方式1从官网下载需要账户# 访问 https://www.oracle.com/java/technologies/downloads/# 或 https://adoptium.net/# 方式2使用 wget 下载 OpenJDK示例cd/tmp# OpenJDK 8wgethttps://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz# OpenJDK 11wgethttps://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz# OpenJDK 17wgethttps://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz# OpenJDK 21wgethttps://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz4.2 安装jdk# 解压到 /usr/local/src/jdks 目录sudotar-xzfopenjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz-C/usr/local/src/jdks/sudotar-xzfopenjdk-11.0.2_linux-x64_bin.tar.gz-C/usr/local/src/jdks/sudotar-xzfopenjdk-17.0.2_linux-x64_bin.tar.gz-C/usr/local/src/jdks/sudotar-xzfopenjdk-21.0.2_linux-x64_bin.tar.gz-C/usr/local/src/jdks/# 重命名为简洁的名称可选cd/usr/local/src/jdkssudomvjava-se-8u41-ri jdk-8sudomvjdk-11.* jdk-11sudomvjdk-17.* jdk-17sudomvjdk-21.* jdk-21# 设置权限sudochmod-R755/usr/local/src/jdks/jdk-*sudochown-Rroot:root /usr/local/src/jdks/jdk-*4.3 验证安装# 检查每个 JDK 版本/usr/local/src/jdks/jdk-8/bin/java-version/usr/local/src/jdks/jdk-11/bin/java-version/usr/local/src/jdks/jdk-17/bin/java-version/usr/local/src/jdks/jdk-21/bin/java-version4.4 配置 JDK 切换4.4.1 使用环境变量按需切换创建切换脚本# 1.创建切换脚本目录mkdir-p~/bin/jdk_switcher# 2.创建脚本cat~/bin/jdk_switcher/jdk-switch.shEOF #!/bin/bash # JDK 切换脚本 JDK_BASE_DIR/usr/local/src/jdks CURRENT_JDK_FILE$HOME/.current_jdk show_usage() { echo 使用方法: $0 [版本号] echo 可用版本: ls -1 $JDK_BASE_DIR | grep -E ^jdk-|^java- | sed s/^/ / echo echo 示例: echo $0 8 # 切换到 JDK 8 echo $0 11 # 切换到 JDK 11 echo $0 17 # 切换到 JDK 17 echo $0 current # 显示当前版本 } get_jdk_path() { local version$1 local jdk_path # 尝试匹配 jdk-版本号 jdk_path$(ls -d $JDK_BASE_DIR/jdk-$version* 2/dev/null | head -1) # 如果没找到尝试匹配 java-版本号 if [ -z $jdk_path ]; then jdk_path$(ls -d $JDK_BASE_DIR/java-$version* 2/dev/null | head -1) fi echo $jdk_path } set_jdk() { local version$1 local jdk_path$(get_jdk_path $version) if [ -z $jdk_path ]; then echo 错误: 未找到 JDK $version return 1 fi if [ ! -d $jdk_path ]; then echo 错误: JDK 路径不存在: $jdk_path return 1 fi # 设置环境变量 export JAVA_HOME$jdk_path export PATH$JAVA_HOME/bin:$PATH # 保存当前选择 echo $jdk_path $CURRENT_JDK_FILE echo 已切换到: $jdk_path java -version } show_current() { if [ -f $CURRENT_JDK_FILE ]; then current_jdk$(cat $CURRENT_JDK_FILE) echo 当前 JDK: $current_jdk $current_jdk/bin/java -version else echo 未设置 JDK java -version 2/dev/null || echo Java 未安装或未在 PATH 中 fi } # 主逻辑 main() { if [ $# -eq 0 ]; then show_usage return 1 fi case $1 in current) show_current ;; list) echo 已安装的 JDK 版本: ls -1 $JDK_BASE_DIR | grep -E ^jdk-|^java- | sed s/^/ / ;; help|-h|--help) show_usage ;; *) set_jdk $1 ;; esac } main $ EOF# 3.设置执行权限chmodx ~/bin/jdk_switcher/jdk-switch.sh# 4.创建符号链接ln-sf~/bin/jdk_switcher/jdk-switch.sh ~/bin/jdk-switch# 5.添加到 .bashrc 或 .zshrcechoalias java-switch~/bin/jdk-switch~/.bashrcechoexport PATH$HOME/bin:$PATH~/.bashrcsource~/.bashrc4.4.2 使用切换脚本# 列出所有 JDKjdk-switch list# 切换到 JDK 8jdk-switch8# 切换到 JDK 11jdk-switch11# 查看当前版本jdk-switch current# 显示帮助jdk-switchhelp