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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SSM 实现登录验证码功能(附源码)

    SSM 实现登录验证码功能(附源码)

    这篇文章主要介绍了SSM 实现登录验证码功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • SpringMVC图片文件跨服务器上传

    SpringMVC图片文件跨服务器上传

    这篇文章主要为大家详细介绍了SpringMVC图片文件跨服务器上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Spring中的Filter过滤器详解

    Spring中的Filter过滤器详解

    这篇文章主要介绍了Spring中的Filter过滤器详解,Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的,需要的朋友可以参考下
    2023-08-08
  • struts2中通过json传值解决乱码问题的实现方法

    struts2中通过json传值解决乱码问题的实现方法

    这篇文章主要介绍了struts2中通过json传值解决乱码问题的实现方法,涉及js编码及java解码的相关操作技巧,需要的朋友可以参考下
    2016-06-06
  • Java Web项目创建并实现前后端交互

    Java Web项目创建并实现前后端交互

    本文主要介绍了Java Web项目创建并实现前后端交互,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SpringBoot深入分析运行原理与功能实现

    SpringBoot深入分析运行原理与功能实现

    我们发现springBoot程序开发比spring程序编写起来容易的多。配置简洁,依赖关系简单,启动运行容易。那么结下了我们我们就要思考一下入门程序中的这些功能是怎么实现的
    2022-09-09
  • SpringBoot自定义监听器的项目实践

    SpringBoot自定义监听器的项目实践

    Spring Boot提供了强大的事件模型,其中包括多种内置监听器,同时也支持开发者自定义监听器,下面就来介绍下SpringBoot自定义监听器,感兴趣的可以了解一下
    2024-03-03
  • SpringBoot整合Web开发之文件上传与@ControllerAdvice

    SpringBoot整合Web开发之文件上传与@ControllerAdvice

    @ControllerAdvice注解是Spring3.2中新增的注解,学名是Controller增强器,作用是给Controller控制器添加统一的操作或处理。对于@ControllerAdvice,我们比较熟知的用法是结合@ExceptionHandler用于全局异常的处理,但其作用不止于此
    2022-08-08
  • java中如何反射获取一个类

    java中如何反射获取一个类

    大家说说对java反射的理解,使用反射如何获取一个类,下面小编给大家整理一些资料,关于java中如何反射获取一个类,有需要的朋友可以参考下
    2015-08-08
  • 定义hashcode时使用31系数的原因

    定义hashcode时使用31系数的原因

    这篇文章主要介绍了定义hashcode时使用31系数的原因,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论