当前位置: 首页 > news >正文

使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)安装适配 Java 8 的 Maven

文章目录

  • 1、安装 SDKMAN!
  • 2、安装 Maven:
    • 2.1、maven 3.9.6
    • 2.2、maven 3.8.1

好的,这是使用 SDKMAN! 安装适配 Java 8 的 Maven 的步骤:

1、安装 SDKMAN!

前提条件:

  • 安装 SDKMAN!: 如果你的系统上没有安装 SDKMAN!,请按照以下说明进行安装:

    curl -s "https://get.sdkman.io" | bash
    source "$HOME/.sdkman/bin/sdkman-init.sh"  # 如果没有自动执行
    

    完成安装后,打开一个新的终端窗口或运行 source "$HOME/.sdkman/bin/sdkman-init.sh" 使其生效。

  • 确保已安装 Java 8 (可选但推荐): 虽然你可以先安装 Maven,再配置 Java 8,但是最好先安装并设置 Java 8。 使用 SDKMAN! 安装 Java 8:

    sdk list java  # 列出可用的 Java 版本
    sdk install java 8.0.432-zulu
    
    dgq@dgqdeMacBook-Pro ~ % sdk install maven 3.9.6Downloading: maven 3.9.6In progress...######################################################################################################### 100.0%Installing: maven 3.9.6
    Done installing!Setting maven 3.9.6 as default.
    

    或者,如果你已经安装了 Java 8,可以使用 sdk use java <identifier> 来指定它。 运行 java -version 来验证 Java 8 是否正确配置。

2、安装 Maven:

  1. 列出可用的 Maven 版本:
    sdk list maven
    
    这将显示所有可用的 Maven 版本。 选择一个 Maven 3.3.9 或更新的版本 (推荐最新版本)。

2.1、maven 3.9.6

  1. 安装 Maven:

    sdk install maven 3.9.6  # 替换 '3.9.6' 为你选择的 Maven 版本
    

    SDKMAN! 将下载并安装指定的 Maven 版本。

  2. 使用 Maven:

    sdk use maven 3.9.6  # 设置当前会话使用的 Maven 版本
    sdk default maven 3.9.6 # 设置 Maven 3.9.6 为默认版本,这样每次打开新的终端窗口都会使用这个版本。
    
  3. 验证安装:

    mvn -v
    
    dgq@dgqdeMacBook-Pro ~ % mvn -v
    Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
    Maven home: /Users/dgq/.sdkman/candidates/maven/current
    Java version: 1.8.0_432, vendor: Azul Systems, Inc., runtime: /Users/dgq/.sdkman/candidates/java/8.0.432-zulu/zulu-8.jdk/Contents/Home/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "mac os x", version: "15.2", arch: "aarch64", family: "mac"
    

    这将显示 Maven 的版本信息,确认安装成功。 检查输出,确保它显示了你安装的 Maven 版本,并且使用的 Java 版本是 Java 8。 例如:

    Apache Maven 3.9.6 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
    Maven home: /Users/youruser/.sdkman/candidates/maven/current
    Java version: 1.8.0_362, vendor: Azul Systems, Inc., runtime: /Users/youruser/.sdkman/candidates/java/8u362-zulu/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "mac os x", version: "13.6", arch: "x86_64", family: "mac"
    

2.2、maven 3.8.1

dgq@dgqdeMacBook-Pro ~ % sdk install maven 3.8.1Downloading: maven 3.8.1In progress...####################################################################################################################### 100.0%Installing: maven 3.8.1
Done installing!Do you want maven 3.8.1 to be set as default? (Y/n): ySetting maven 3.8.1 as default.

注意事项:

  • sdk use vs sdk default: sdk use 命令只在当前终端会话中生效。 sdk default 命令会将指定的版本设置为全局默认版本,每次打开新的终端窗口时都会使用这个版本。

  • 版本选择: 尽量选择最新的稳定版本。 查看 SDKMAN! 提供的列表,选择一个没有标记为测试版或 alpha 版的版本。

  • 环境变量: SDKMAN! 会自动管理 Maven 和 Java 的环境变量,你通常不需要手动设置 M2_HOMEJAVA_HOME

完成这些步骤后,你的系统上就应该已经成功安装了与 Java 8 兼容的 Maven,并可以使用它来构建 Java 项目了。

在这里插入图片描述

相关文章:

使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)安装适配 Java 8 的 Maven

文章目录 1、安装 SDKMAN!2、安装 Maven:2.1、maven 3.9.62.2、maven 3.8.1 好的&#xff0c;这是使用 SDKMAN! 安装适配 Java 8 的 Maven 的步骤&#xff1a; 1、安装 SDKMAN! 前提条件: 安装 SDKMAN!: 如果你的系统上没有安装 SDKMAN!&#xff0c;请按照以下说明进行安装: c…...

anythingllm服务器部署+ollama+deepseek+实现本地知识库问答

一、docker安装anythingllm 1、拉取镜像 docker pull mintplexlabs/anythingllm:latest 2、创建db目录和配置文件并运行 anythingLLM 容器 export STORAGE_LOCATION/data/ai/wjh_team/anythingllm && \mkdir -p $STORAGE_LOCATION && \touch "$STORAG…...

深度学习04 数据增强、调整学习率

目录 数据增强 常用的数据增强方法 调整学习率 学习率 调整学习率 ​调整学习率的方法 有序调整 等间隔调整 多间隔调整 指数衰减 余弦退火 ​自适应调整 自定义调整 数据增强 数据增强是通过对训练数据进行各种变换&#xff08;如旋转、翻转、裁剪等&#xff09;&am…...

2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第10套模块A:网络构建

​有问题请留言或主页私信咨询 2023年全国职业院校技能大赛 GZ073网络系统管理赛项 赛题第10套 模块A&#xff1a;网络构建 ​ ​ **目 **录 任务清单 &#xff08;一&#xff09;基础配置 &#xff08;二&#xff09;有线网络配置 &#xff08;三&#xff09;无线…...

2023年河北省职业院校技能大赛网络系统管理赛项样题解法

​ 有问题请留言或主页私信咨询 配置文件有部分测试时的冗余配置无视即可。 解法只有大致解法&#xff0c;并不完整。请参考配置&#xff0c;自己补全 基础配置 1.所有交换机和无线控制器开启SSH服务&#xff0c;用户名密码分别为admin、admin1234&#xff1b;密码为明文类…...

vite+vue3开发uni-app时低版本浏览器不支持es6语法的问题排坑笔记

重要提示&#xff1a;请首先完整阅读完文章内容后再操作&#xff0c;以免不必要的时间浪费&#xff01;切记&#xff01;&#xff01;&#xff01;在使用vitevue3开发uni-app项目时&#xff0c;存在低版本浏览器不兼容es6语法的问题&#xff0c;如“?.” “??” 等。为了方便…...

Linux系统编程基础详解

Linux 系统详解 大纲 引言 Linux 的定义Linux 的历史与发展本文结构概述 Linux 的基本概念 Linux 的架构 内核与用户空间系统调用 Linux 的文件系统 文件与目录结构权限管理 Linux 的进程管理 进程与线程进程调度 Linux 的基本命令与操作 常用命令概述 文件与目录操作命令文…...

钉钉应用开发

一.开发调试工具认识与安装 选择微应用调试工具-RC版 微应用调试工具—RC版 - 钉钉开放平台&#xff08;下载和使用说明&#xff09; 案例 创建一个钉钉应用 开发工具和安装包 vscode 开发环境 预装node.js---- https://nodejs.org/zh-cn --npm是随Node.js一起安装的 在…...

打破限制!自定义 Hooks 如何提升 React 组件的灵活性

本周开发监控项目&#xff0c;我发现了很多的 React 类组件封装&#xff0c;发现出现了多次UI渲染的情况、代码辨识度也较差&#xff0c;对性能和维护都产生了挑战。这里多个场景的都是状态管理和逻辑复用需求&#xff0c;其实完全没有必要封装类组件。相反我通过引入 React 自…...

使用arthas测试接口响应时间

一、下载解压 git下载地址&#xff1a; https://github.com/alibaba/arthas/releases 二、启动和选择Java进程 java -jar arthas-boot.jar选择需要测试的java进程&#xff0c;我输入1然后回车 三、使用trace命令 trace 全路径 方法名 trace com.xxx.b2b.mall.goods.service…...

Vue3.x的深度选择器详细解读

在 Vue 3 中&#xff0c;深度选择器&#xff08;Deep Selector&#xff09;用于在 <style scoped> 中穿透作用域样式&#xff0c;影响子组件的样式。Vue 3 中深度选择器的语法与 Vue 2 有所不同&#xff0c;以下是详细说明&#xff1a; 1. 深度选择器的作用 在 Vue 的单…...

基于Python的Diango旅游数据分析推荐系统设计与实现+毕业论文(15000字)

基于Python的Diango旅游数据分析推荐系系统设计与实现毕业论文指导搭建视频&#xff0c;带爬虫 配套论文1w5字 可定制到某个省份&#xff0c;加40 基于用户的协同过滤算法 有后台管理 2w多数据集 可配套指导搭建视频&#xff0c;加20 旅游数据分析推荐系统采用了Python语…...

Django ModelForm使用(初学)

1.目的是根据员工表字段&#xff0c;实现一个新增员工的数据填写页面 2.在views.py文件中按下面的格式写 定义 ModelForm 类&#xff1a;UserModelForm &#xff08;自己命名的类名&#xff09;使用时需要导入包 定义视图函数&#xff1a;user_model_form_add&#xff08;在函…...

android ViewPager 管理 Fragment的预加载onCreate

一、前言 当ViewPager 加载多个 Fragment时候&#xff0c;怎么管理Fragment预加载。因为有些数据需要提前加载&#xff0c;第一个方便后面数据使用&#xff0c;提前初始化。或者预加载网络数据等。 二、实现示例 在onCreate方法进行数据预加载。如果在onCreateView函数里面&…...

运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了

智慧园区场景视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。充分利用现有…...

国产编辑器EverEdit -告别东找西找!一键打开当前文件所在目录!

1 文件操作 2 应用场景 在文件编辑过程中&#xff0c;有时需要对文件进行一些操作&#xff0c;比如&#xff1a;在命令窗口输入文件路径、文件名&#xff0c;进入到文件目录&#xff0c;对文件进行压缩等&#xff0c;如果没有直达命令&#xff0c;用户需要通过文件管理器找到目…...

【分治法】线性时间选择问题

问题描述 给定线性序列中n个元素和一个整数k&#xff0c;1≤k≤n&#xff0c;要求在线性时间中找出这n个元素中第k小的元素 常规思路 常规思路是对序列先排序&#xff0c;落在第k个位置的元素就是第k小的元素。 这种方法的时间复杂度不是线性的&#xff0c;是O(nlogn)的时间…...

SpringBoot速成(16)项目部署P30

部署是一个非常重要的环节。部署的目的是将开发完成的程序运行在服务器上&#xff0c;让其他用户或系统能够访问和使用它。 让程序对外提供服务 开发环境的局限性&#xff1a;开发环境通常是本地计算机&#xff0c;仅供开发人员使用。但实际应用需要让其他用户&#xff08;比如…...

【Mysql:数据库的基础操作】

目录 数据库创建&#xff0c;删除基础指令&#xff1a; 数据库的编码集&#xff1a; 数据库备份与恢复&#xff1a; 表的操作&#xff1a; 数据库创建&#xff0c;删除基础指令&#xff1a; show databases;//查看数据库列表//创建数据库 create database db_name; crea…...

Nacos Derby 远程命令执行漏洞修复建议

由于Nacos < 2.4.0 BETA 存在 Derby 远程命令执行漏洞&#xff0c;恶意攻击者利用此漏洞可以未授权执行SQL语句&#xff0c;最终导致任意代码执行。目前该漏洞PoC和技术细节已在互联网上公开。 一、漏洞情况分析 Nacos 是一个功能强大的服务注册与发现、配置管理平台&#…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等&#xff0c;设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...

C++ 类基础:封装、继承、多态与多线程模板实现

前言 C 是一门强大的面向对象编程语言&#xff0c;而类&#xff08;Class&#xff09;作为其核心特性之一&#xff0c;是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性&#xff0c;包括封装、继承和多态&#xff0c;同时讨论类中的权限控制&#xff0c;并展示如何使用类…...