Mac上安装Java的JDK多版本管理软件jEnv
JDK的多版本管理软件主要有以下三种:
- jEnv
jEnv 是一个命令行工具,可以帮助您管理和切换不同版本的 Java 环境。它可以让您在不同的项目之间轻松切换 Java 版本。您可以使用 jenv global 命令设置全局 Java 版本,也可以使用 jenv local 命令设置特定项目的 Java 版本。
- jabba
jabba 是一个简单易用的命令行工具,用于切换不同版本的 Java 环境。它允许您在不同的终端会话中使用不同的 Java 版本。您可以使用 jabba ls-remote 命令查看可用的 Java 版本列表,然后使用 jabba use 命令切换到特定的 Java 版本。
- SDKMan
SDKMan 是一个用于管理软件开发工具包(SDK)的工具,不仅支持 Java,还支持其他编程语言的 SDK。通过 SDKMan,您可以安装和切换不同版本的 Java,以及其他工具和框架。您可以使用 sdk list java 命令列出可用的 Java 版本,然后使用 sdk use java 命令切换到特定的 Java 版本。
Jabba的主要优点是:
-
简单易用:Jabba提供了一个简单的命令行界面,方便安装和切换不同版本的Java。
-
跨平台支持:Jabba可以在多个操作系统上使用,包括 macOS、Linux和Windows。
-
可靠性:Jabba具有良好的稳定性和广泛的社区支持,可以满足大多数Java开发者的需求。
jEnv的主要优点是:
-
轻量级:jEnv是一个非常轻量级的工具,不依赖于外部依赖项,安装和配置都非常简单。
-
灵活性:jEnv可以与其他Java管理工具(如Maven和Gradle)无缝集成,提供更大的灵活性。
-
插件支持:jEnv可以通过插件扩展其功能,例如可以添加插件来支持其他语言的版本管理。
我选了jEnv,Mac端安装步骤如下:使用brew安装
-
安装 jEnv 的依赖项。在终端中运行以下命令:
brew install jenv这将使用 Homebrew 安装 jEnv 工具。
-
将 jEnv 添加到 shell 配置文件,以使其在每个终端会话中自动加载。运行以下命令:如果您使用的是 Zsh 终端,
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc如果您使用的是 Bash 终端,
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(jenv init -)"' >> ~/.bash_profile -
重新加载 shell 配置文件,使 jEnv 生效。运行以下命令:
source ~/.zshrc source ~/.bash_profile这将重新加载 shell 配置文件,使 jEnv 在当前终端会话中生效。
-
诊断 jenv 是否配置成功
jenv doctor
5.使用jenv add命令将不同版本的Java加入 jenv 中
我本机本别装了1.8,11,17三个版本,你的路径名称可能和我的不一样自己看下安装位置。
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/liberica-jdk-11-full.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/liberica-jdk-17-full.jdk/Contents/Home
查看已安装的JDK版本本地存储路径
/usr/libexec/java_home -V

6.添加完后,设置全局版本
使用 jEnv,您可以方便地切换 Java 版本,以适应不同的开发需求和项目要求。您可以通过运行 jenv version 命令来验证当前的 Java 版本。
参考文献:
0、jEnv - Manage your Java environment
1、Mac 12.5 安装和使用jenv管理多版本java - 简书
-
设置全局 Java 版本:使用以下命令设置默认(全局)的 Java 版本:
jenv global <version>将
<version>替换为您要设置的具体 Java 版本(例如,1.8、11.0.1 等)。jenv global 1.8 -
设置本地 Java 版本:对于特定项目,您可以在项目目录中使用以下命令设置本地 Java 版本:
jenv local <version>将
<version>替换为您要设置的具体 Java 版本。 -
切换 Java 版本:使用以下命令切换当前会话的 Java 版本:
jenv shell <version>将
<version>替换为您要使用的具体 Java 版本。
2、Mac 安装和使用 jenv 管理多版本 java - 简书
3、mac上用jenv管理java环境_雨声不在的博客-CSDN博客
相关文章:
Mac上安装Java的JDK多版本管理软件jEnv
JDK的多版本管理软件主要有以下三种: jEnv jEnv 是一个命令行工具,可以帮助您管理和切换不同版本的 Java 环境。它可以让您在不同的项目之间轻松切换 Java 版本。您可以使用 jenv global 命令设置全局 Java 版本,也可以使用 jenv local 命令…...
linux常见命令以及jdk,tomcat环境搭建
目录 Is pwd cd touch cat echo vim 复制粘贴 mkdir rm cp jdk部署 1. yum list | grep jdk进行查找编辑 2.安装编辑 3.再次确认 4.判断是否安装成功 tomcat安装 1.下载压缩包,把压缩包上传至linux(可能需要yum install lrzsz) 2.解压缩unzip 压缩包名&…...
将表情存入数据库
概念: 表情是一种比较特殊的字符串,为unicode编码,unicode编码要存入数据库一般情况下,是存不了的,有两种解决方式,一种将数据表编码方式改为unicode编码方式,但是这种情况适用于功能刚开始设计…...
H桥级联型五电平三相逆变器Simulink仿真模型
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
后端解决跨域(极速版)
header(Access-Control-Allow-Origin: *); header(Access-Control-Allow-Methods:*); 代表接收全部的请求,"POST,GET"//允许访问的方式 指定域,如http://172.20.0.206//宝塔的域名,注意不是:http://wang.jingyi.icu等…...
数据结构与算法-前缀树
数据结构与算法-前缀树详解 1 何为前缀树 2 前缀树的代码表示及相关操作 1 何为前缀树 前缀树 又称之为字典树,是一种多路查找树,多路树形结构,是哈希树的变种,和hash效率有一拼,是一种用于快速检索的多叉树结构。 性质:不同字符串的相同…...
DirectX12_Windows_GameDevelop_3:Direct3D的初始化
引言 查看龙书时发现,第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码,导致你没有一种整体感。如果你把它当作某一块的代码进行学习,你跟着敲会发现,总有几个变量是没有定义的。这…...
基于粒子群优化算法、鲸鱼算法、改进的淘沙骆驼模型算法(PSO/SSA/tGSSA)的微电网优化调度(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
数据分析篇-数据认知分析
一简介 数据认知分析,实际是对数据的整体结构和分布特征进行分析,是对整个数据外在的认识,也是数据分析的第一步。对于数据认知的分析,一般会考虑分散性、位置特性、变量的相关性等,一般会考虑平均数、方差、极差、峰…...
【力扣-每日一题】714. 买卖股票的最佳时机含手续费
class Solution { public:int maxProfit(vector<int>& prices, int fee) {//[i][0]-不持有 [i][1]-持有int mprices.size();vector<vector<int>> dp(m,vector<int>(2));dp[0][0]0; //初始状态dp[0][1]-prices[0];for(int i1;i<m;i){dp[i]…...
【代码实践】HAT代码Window平台下运行实践记录
HAT是CVPR2023上的自然图像超分辨率重建论文《activating More Pixels in Image Super-Resolution Transformer》所提出的模型。本文旨在记录在Window系统下运行该官方代码(https://github.com/XPixelGroup/HAT)的过程,中间会遇到一些问题&am…...
机器学习-Pytorch基础
Numpy和Pytorch可以相互转换,前者CPU上,后者GPU上,都是对矩阵进行运算,Pytorch的基本单位是张量。torch 可以初始化全为0、全为1、符合正态分布的矩阵确定性初始化 torch.tensor()torch.arrange()torch.linspace()torch.logspace…...
金九银十,刷完这个笔记,17K不能再少了....
大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…...
精确到区县级街道乡镇行政边界geojson格式矢量数据的获取拼接实现Echarts数据可视化大屏地理坐标信息地图的解决方案
在Echarts制作地理信息坐标地图时,最麻烦的就是街道乡镇级别的行政geojson的获取, 文件大小 788M 文件格式 .json格式,由于是大文件数据,无法直接使用记事本或者IDE编辑器打开,推荐Dadroit Viewer(国外…...
【Python 千题 —— 基础篇】多行输出
题目描述 下面是一道关于输入输出的基础题。⭐⭐⭐ 题目描述 编写一个Python程序,将字符串 Hello World! 存储在变量 str1 中,将字符串 Hello Python! 存储在变量 str2 中,然后使用 print 语句分别将它们在不同行打印出来。 输入描述 无…...
AdaBoost(上):数据分析 | 数据挖掘 | 十大算法之一
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...
Py之pygraphviz:pygraphviz的简介、安装、使用方法之详细攻略
Py之pygraphviz:pygraphviz的简介、安装、使用方法之详细攻略 目录 pygraphviz的简介 pygraphviz的安装 Graphviz:可视化工具Graphviz的简介、安装、使用方法、经典案例之详细攻略 pygraphviz的使用方法 1、基础用法 2、进阶案例 Algorithm&#…...
acwing算法基础之基础算法--前缀和算法
目录 1 知识点2 模板 1 知识点 前缀后下标尽量从1开始,当然不从1开始也是ok的。 a 1 , a 2 , a 3 , . . . , a n a_1,a_2,a_3,...,a_n a1,a2,a3,...,an S 1 , S 2 , S 3 , . . . S n S_1,S_2,S_3,...S_n S1,S2,S3,...Sn S i S_i Si࿱…...
华为云云耀云服务器L实例评测|Ubuntu 22.04部署edusoho-ct企培版教程 | 支持华为云视频点播对接CDN加速
华为云云耀云服务器L实例评测|Ubuntu 22.04部署edusoho企培版教程 1、选择购买 华为云耀云服务器L实例 简单上云第一步 2、选择你要安装的操作系统,例如 Ubuntu 22.04 server 64bit 3、然后支付订单就行了 4、华为云云耀云服务器L实例创建好之后&#x…...
土木硕设计院在职转码上岸
一、个人介绍 双非土木硕,98年,目前在北京,职位为前端开发工程师,设计院在职期间自学转码上岸🌿 二、背景 本人于19年开始土木研究生生涯,研二期间去地产实习近半年(碧桂园和世茂,这两家的地产…...
Python 爬虫进阶技巧:定时爬虫任务实现无人值守采集
前言 常规爬虫多依赖手动触发脚本运行,单次采集完成后需人工二次启动,无法满足日常周期性数据监控、行情抓取、资讯同步、业务台账定时归档等常态化采集需求。搭建可自主调度、自动启停、周期循环的定时爬虫任务,脱离人工干预实现无人值守全自动采集,是爬虫从临时脚本走向…...
从0到1构建DeepSeek抗注入能力:97.3%拦截率验证的5层LLM网关架构设计
更多请点击: https://intelliparadigm.com 第一章:从0到1构建DeepSeek抗注入能力:97.3%拦截率验证的5层LLM网关架构设计 为应对Prompt注入、越狱指令与上下文污染等高阶对抗攻击,我们设计并落地了一套轻量级、可插拔的5层LLM网关…...
Lumberjack 暗色主题:提升开发效率的配色方案与多平台配置指南
1. 项目概述:一个为开发者打造的暗色系主题 如果你和我一样,每天有超过一半的时间都泡在代码编辑器里,那么一个顺眼的主题就不仅仅是“好看”而已,它直接关系到你的工作效率和眼睛的舒适度。今天要聊的这个项目, Drru…...
IT68353:双DP 1.4 + HDMI 2.0 转 HDMI 2.0 单芯片KVM切换方案
一、前言多主机协同办公、电竞直播、工控监控、视频会议等场景,对4K60Hz高画质切换、键鼠共享、Type-C一线通、多路信号兼容、极简外围的需求持续攀升。传统KVM方案普遍采用多芯片拼凑架构,需要DP切换芯片、HDMI切换芯片、USB Hub、PD控制器、外置MCU等多…...
从零掌握生成式AI:开源学习路径与实战项目全解析
1. 项目概述与核心价值最近在GitHub上看到一个名为“panaverse/learn-generative-ai”的项目,作为一个在AI领域摸爬滚打多年的从业者,我立刻被它吸引住了。这个项目直译过来就是“学习生成式AI”,名字非常直接,但它的内容组织和深…...
跨工具技能同步:构建统一操作习惯的中间层架构与实践
1. 项目概述:一个跨工具技能同步的构想在数字工具爆炸式增长的今天,我们每个人几乎都活在一个“工具丛林”里。作为一名长期与各种生产力工具、开发环境、设计软件打交道的从业者,我深刻体会到一种割裂感:在A工具里熟练无比的快捷…...
【紧急通告】DeepSeek-R1毒性分类器存在语境盲区?3小时内验证并热修复的4种API级补丁
更多请点击: https://intelliparadigm.com 第一章:【紧急通告】DeepSeek-R1毒性分类器存在语境盲区?3小时内验证并热修复的4种API级补丁 近期社区报告指出,DeepSeek-R1毒性分类器在处理嵌套反讽、多轮对话上下文拼接及跨语言混合…...
好用的四川企业用工风险咨询生产厂家
行业痛点分析在四川企业用工风险咨询领域,企业面临诸多技术挑战。首先,许多企业虽意识到用工风险的存在,但却不清楚风险具体所在。测试显示,超过七成企业未系统排查过自身用工风险,社保未足额缴纳、合同存在漏洞、规章…...
企业知识管理新方案:OpenCorpo开源项目部署与RAG架构实践
1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫 OpenCorpo。这名字听起来有点“高大上”,但说白了,它就是一个帮你把公司内部那些零散、混乱的文档、知识、流程给“盘活”的工具。想象一下,你公司里是不是有无数个共享…...
诺云定制APP:赋能社区团购商家私域长效盈利
如今社区团购行业早已告别野蛮烧钱补贴的粗放发展阶段,迈入精细化私域运营、低成本稳复购的深耕时代。不管是深耕社区多年的本地团购实体店家、社区团长创业者,还是手握生鲜、日用刚需货源的供应链商家,都面临着共同经营难题:依赖…...
