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

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

前提条件:

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

    bash 复制代码
    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:

    bash 复制代码
    sdk list java  # 列出可用的 Java 版本
    sdk install java 8.0.432-zulu
    shell 复制代码
    dgq@dgqdeMacBook-Pro ~ % sdk install maven 3.9.6
    
    Downloading: maven 3.9.6
    
    In 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 是否正确配置。

安装 Maven:

  1. 列出可用的 Maven 版本:

    bash 复制代码
    sdk list maven

    这将显示所有可用的 Maven 版本。 选择一个 Maven 3.3.9 或更新的版本 (推荐最新版本)。

  2. 安装 Maven:

    bash 复制代码
    sdk install maven 3.9.6  # 替换 '3.9.6' 为你选择的 Maven 版本

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

  3. 使用 Maven:

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

    bash 复制代码
    mvn -v
    shell 复制代码
    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"

注意事项:

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

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

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

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

相关推荐
青山木9 小时前
Hot 100 --- 最小栈
java·数据结构·算法·leetcode
疯狂打码的少年9 小时前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法
szephyr9 小时前
腾讯云 ADP 智能体的 Skills 版本回滚总是回到旧配置,是缓存没清还是版本管理没开?
java·缓存·腾讯云
云烟成雨TD9 小时前
Micrometer 系列【39】链路追踪:入门案例 | 环境准备
java·云原生·链路追踪
chuan.bai9 小时前
Java RAG 实战(第 3 篇):从交互式聊天到多轮上下文
java·人工智能·macos·ai
952369 小时前
Sentinel
java·后端·spring·sentinel·springcloud
阿pin10 小时前
Java随笔-JDK7 HashMap头插法为何能导致死循环?
java·开发语言·hashmap
李可以量化10 小时前
Tornado 从了解到精通(一)下:异步与非阻塞 IO 核心原理
java·数据库·tornado
yurenpai(27届找实习中)10 小时前
从销售订单推送 MES 看懂微服务调用(二):DTO 转换与 OpenFeign 调用
java·微服务·架构·服务调用
Patrick在香港11 小时前
Python爬虫框架实战:优雅抓取香港政府公开API数据的通用方案
java·开发语言·爬虫·python·ai编程·数据可视化·可用性测试