JDK版本管理工具jEnv解决不同jdk版本项目

 更新时间:2023年07月19日 10:08:08   作者:Snape2323  
本文主要介绍了JDK版本管理工具jEnv解决不同jdk版本项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

当我们项目多起来,或者需要启动一个开源项目,发现和我们本地开发环境使用的jdk版本不一样,这时候就非常焦灼了.

比如你的环境配置是 JDK 8,但需要运行一个使用 JDK 17 的 Java 项目,摆在面前的目前据我所知有四个方法:

第一是被迫升级成jdk17,第二是使用容器化技术(如 Docker),第三就是使用多个开发环境,第四是使用JDK 版本管理工具来管理不同版本的 JDK,并根据需要在项目之间切换.

一、jEnv是什么?

jEnv是一款JDK 版本管理工具,可以帮助你在同一系统上管理多个 JDK 版本,并在不同项目之间轻松切换,我选择jEnv,是因为它相对于其他工具来说是一个更简单易用的命令行工具,且是一个开源工具,根据 MIT 许可证发布,你可以在 jEnv 的 GitHub 仓库中找到源代码和详细信息.

简单介绍下使用步骤和主要指令

1.在命令行执行安装指令

2.安装 JDK:在要运行项目的系统上安装所需的JDK版本

3.添加 JDK 到 jEnv:在终端中使用 jenv add 命令添加已安装的 JDK 版本

4.设置全局 JDK 版本:使用 jenv global 命令设置全局默认的 JDK 版本

5.设置项目 JDK 版本:在项目目录中,使用 jenv local 命令设置项目特定的 JDK 版本

6.切换 JDK 版本:使用 jenv shell 命令在当前终端会话中切换 JDK 版本

二、使用步骤

1.安装 jEnv

首先,需要在系统上安装 jEnv。可以按照以下步骤进行安装:

打开终端(命令行),并执行以下命令下载 jEnv 安装脚本:

curl -sL https://github.com/jenv/jenv-installer/raw/main/bin/jenv-installer | bash

安装完成后,按照终端中的提示设置 jEnv 的环境变量

2.安装 JDK

在 jEnv 安装完成后,你可以安装所需的 JDK 版本。可以按照以下步骤进行安装:

  • 下载并安装所需的 JDK 版本。例如,你可以从 Oracle 或 AdoptOpenJDK 网站下载 JDK 安装程序。
  • 在终端中,使用以下命令添加已安装的 JDK 版本到 jEnv(add命令现在是先添加名字,再添加路径,):

以添加JDK8指令如下:

jenv add JDK8

然后按下回车,出现的提示为 JDK 的安装路径

其他JDK版本重复上述操作

3.配置全局 JDK 版本

可以设置一个全局的 JDK 版本,作为默认的 JDK。这个版本将在没有明确设置 JDK 版本的项目中使用。可以按照以下步骤进行设置:

使用以下命令查看已安装的 JDK 版本列表:

jenv versions

使用以下命令设置全局 JDK 版本:

将 jdk_version 替换为你希望设置的 JDK 版本,如 上面演示的JDK8

jenv global JDK8

4.配置项目 JDK 版本

还可以在特定的项目中设置不同的 JDK 版本,将覆盖全局 JDK 版本的设置,可以按照以下步骤进行设置:

  • 在项目的根目录下,使用以下命令设置项目的 JDK 版本:
  • 将 jdk_version 替换为你希望设置的 JDK 版本,如 jenv local JDK17
  • 完成后java -jar启动目录下的文件就好了
jenv local JDK17

5.切换 JDK 版本

可以使用 jEnv 在不同的终端会话中切换 JDK 版本。可以按照以下步骤进行切换:

  • 使用以下命令切换到特定的 JDK 版本:
  • 将 jdk_version 替换为你希望切换的 JDK 版本,如 jenv shell JDK17
jenv shell JDK17

这样,就可以使用 jEnv 在不同的项目中轻松管理和切换 JDK 版本,在切换 JDK 版本时,确保所选的 JDK 版本已经被正确安装和添加到 jEnv 中

总结

以上就是jEnv的基本使用步骤,可以解决部分想部署不同jdk版本的项目

到此这篇关于JDK版本管理工具jEnv解决不同jdk版本项目的文章就介绍到这了,更多相关JDK jEnv内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis特殊字符转义拦截器问题针对(_、\、%)

    MyBatis特殊字符转义拦截器问题针对(_、\、%)

    这篇文章主要介绍了MyBatis特殊字符转义拦截器问题针对(_、\、%),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 使用Java实现希尔排序算法的简单示例

    使用Java实现希尔排序算法的简单示例

    这篇文章主要介绍了使用Java实现希尔排序算法的简单示例,希尔排序可以被看作是插入排序的一种更高效的改进版本,需要的朋友可以参考下
    2016-05-05
  • Java中@Accessors注解的具体使用

    Java中@Accessors注解的具体使用

    @Accessors是Lombok提供的注解之一,用于自动生成getter和setter方法,本文主要介绍了@Accessors注解的常用属性,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • SpringBoot中Dozer的使用小结

    SpringBoot中Dozer的使用小结

    dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的set和get方法了,下面介绍下SpringBoot中Dozer的使用,感兴趣的朋友一起看看吧
    2022-03-03
  • SpringBoot实现图形验证码的示例代码

    SpringBoot实现图形验证码的示例代码

    验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用 Hutool 提供的小工具实现,本文介绍SpringBoot实现图形验证码的实例,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • SpringBoot属性注入的多种方式实例

    SpringBoot属性注入的多种方式实例

    在 SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入,下面这篇文章主要给大家介绍了关于SpringBoot属性注入的多种方式,需要的朋友可以参考下
    2021-10-10
  • SWT(JFace)体验之ApplicationWindow

    SWT(JFace)体验之ApplicationWindow

    SWT(JFace)体验之ApplicationWindow
    2009-06-06
  • Nacos配置中心集群原理及源码分析

    Nacos配置中心集群原理及源码分析

    这篇文章主要为大家介绍了Nacos配置中心集群原理及源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Spring Boot集成JSch的示例代码

    Spring Boot集成JSch的示例代码

    本文主要介绍了Spring Boot集成JSch的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Spring注解方式无法扫描Service注解的解决

    Spring注解方式无法扫描Service注解的解决

    这篇文章主要介绍了Spring注解方式无法扫描Service注解的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论