JDK多版本管理

安装JDK

kona jdk

sudo tar -zxvf TencentKona-17.0.6.b1-jdk_linux-aarch64.tar.gz -C /Library/Java/JavaVirtualMachines/kona-jdk-17/
sudo tar -zxvf TencentKona-11.0.14.b1-jdk_linux-aarch64.tar.gz -C /Library/Java/JavaVirtualMachines/kona-jdk-11/
sudo tar -zxvf TencentKona8.0.9.b1_jdk_linux-aarch64_8u322.tar.gz -C /Library/Java/JavaVirtualMachines/kona-jdk-8/ 

设置环境变量

  • 设置不同版本的JAVA_HOME
# java
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:${JAVA_HOME}/lib
# 设置默认版本
export JAVA_HOME=$JAVA_17_HOME
# alias命令动态切换JDK版本
alias jdk8="export JAVA_HOME=${JAVA_8_HOME}"
alias jdk11="export JAVA_HOME=${JAVA_11_HOME}"
alias jdk17="export JAVA_HOME=${JAVA_17_HOME}"
export PATH
export CLASSPATH
  • 生效配置

使用本地的shell配置,这里使用的是zsh

source .zshrc

切换版本

java -version                                                                                                                                                    ~
java version "17.0.13" 2024-10-15 LTS
Java(TM) SE Runtime Environment (build 17.0.13+10-LTS-268)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.13+10-LTS-268, mixed mode, sharing)
[15:32:12] [cost 0.338s] java -version                                                                                                                               

❯ jdk11                                                                                                                                                            ~
[15:32:17] [cost 0.033s] jdk11 java -version                                                                                                                                                    ~
java version "11.0.25" 2024-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.25+9-LTS-256)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.25+9-LTS-256, mixed mode)
[15:32:19] [cost 0.693s] java -version                                                                                                                               

❯ jdk8                                                                                                                                                             ~
[15:32:32] [cost 0.048s] jdk8 java -version                                                                                                                                                    ~
java version "1.8.0_431"
Java(TM) SE Runtime Environment (build 1.8.0_431-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.431-b10, mixed mode)
[15:32:35] [cost 0.138s] java -version       

IDE支持多版本编译

IDEA配置环境变量

pom文件示例

  • JDK8
  <properties>
    <jdk.home>${env.JAVA_8_HOME}</jdk.home>
    <jdk.version>1.8</jdk.version>
  </properties>
<build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${plugin.compiler.version}</version>
        <configuration>
          <source>${jdk.version}</source>
          <target>${jdk.version}</target>
          <fork>true</fork>
          <debug>true</debug>
          <optimize>true</optimize>
          <encoding>${encoding}</encoding>
          <showDeprecation>true</showDeprecation>
          <compilerVersion>${jdk.version}</compilerVersion>
          <executable>${jdk.home}/bin/javac</executable>
        </configuration>
      </plugin>
  </plugins>
</build>
  • JDK17

SpringBoot3要求JDK17,就涉及到此场景

<properties>
    <spring.cloud.version>2022.0.5</spring.cloud.version>
    <slf4j.vesion>1.7.30</slf4j.vesion>
    <jdk.home>${env.JAVA_17_HOME}</jdk.home>
    <spring.boot.version>3.1.7</spring.boot.version>
    <jdk.version>17</jdk.version>
  </properties>
<build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Plugin-Id>${project.artifactId}</Plugin-Id>
              <Plugin-Compiler-Version>${jdk.version}</Plugin-Compiler-Version>
              <Plugin-Open-Modules>java.lang,java.lang.reflect</Plugin-Open-Modules>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
  </plugins>
</build>

卸载

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-17.jdk

Ref

mac book m1安装多个jdk
Mac下多版本JDK安装及管理

posted @   惜阳茕影  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示