brew

官网地址:https://brew.sh/zh-cn/

  1. 官网提供的链接(没有vpn的话执行不成功)

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 国内下载地址

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

sdkman

简介

  • SDKMAN是一个用于管理软件开发工具的工具。它允许用户在他们的计算机上安装、管理和切换不同的软件开发工具,如Java、Gradle、Maven、Scala等。SDKMAN提供了一个简单易用的命令行界面,用户可以使用命令来安装、卸载、切换和更新不同的工具版本。SDKMAN还提供了一个广泛的软件工具列表,用户可以从中选择并安装他们所需的工具。

  • 简单来说,如果你使用过python的anaconda,那么你可以将这玩意理解成一个java版本的anaconda,可以很方便的管理多个java版本。

如何安装?

  • 点击官网:Installation - SDKMAN! the Software Development Kit Manager

  • 直接复制官网里的安装指令到终端中执行即可curl -s "https://get.sdkman.io" | bash

  • 然后根据需求新开一个终端或者输入右边的代码重置一下source "$HOME/.sdkman/bin/sdkman-init.sh"

  • 最后输入sdk version,如果有正常显示版本号,则表示安装成功了

使用指南

  1. 查看SKDMAN版本号:

    sdk version
  2. 列出可用的SDK列表:

    sdk list
  3. 安装特定的SDK:

    sdk install <sdk-name> <version>

    例如,安装Java 8:

    sdk install java 8.0.292.hs-adpt
  4. 切换SDK版本:

    sdk use <sdk-name> <version>

    例如,切换到Java 9:

    sdk use java 9.0.7-zulu
  5. 设置默认的SDK版本:

    sdk default <sdk-name> <version>

    例如,设置Java 8为默认版本:

    sdk default java 8.0.292.hs-adpt
  6. 卸载SDK:

    sdk uninstall <sdk-name> <version>

    例如,卸载Java 9:

    sdk uninstall java 9.0.7-zulu
  7. 更新SDKMAN:

    sdk upgrade
  8. 清除旧版本的SDK:

    sdk flush archives
    sdk flush temp

以上为SDKMAN的基本使用命令,如果想要更多指令,可以输入sdk help来查看全部的指令内容。

nvm

nvm 是 node 多版本的管理工具

  1. 安装nvm

    brew install nvm
  2. 配置环境变量

    open ~/.bash_profile
    # nvm
    export NVM_DIR="$HOME/.nvm"
    [ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"
    [ -s "$(brew --prefix nvm)/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix nvm)/etc/bash_completion.d/nvm"
    source ~/.bash_profile
  3. 验证是否安装成功

    nvm -v
  4. nvm命令大全

    nvm list    # 查看已经安装的版本
    nvm ls    # 列出所有版本
    nvm version    # 查看当前的版本
    nvm current    # 显示当前版本
    nvm ls-remote    # 查看远程所有可用版本
    nvm install v22.15.0    # 安装制定版本
    nvm alias default v22.15.0    # 设置默认版本号
  5. 设置淘宝镜像

    npm config set registry https://registry.npmmirror.com
  6. 查看当前镜像

    npm config get registry

  7. 安装镜像工具 nrm

    npm install -g nrm

    nrm 命令大全

    nrm ls   # 查看所有的支持源
    nrm use [name]    # 将npm下载源切换成指定的源
    nrm current    # 查看当前使用的镜像源
    nrm add [name url]    # 添加自定义源(name是自定义源的名字,ulr是自定义源的url)
    nrm del [name]    # 删除源
    nrm test [name]    # 测试速度

jenv

jenv 是 java 多版本管理工具 (推荐 SDKMAN)

  1. 安装jenv

    brew install jenv
  2. 配置环境

    # Jenv
    export PATH="$HOME/.jenv/bin:$PATH"
    eval "$(jenv init -)"
  3. 刷新配置

    source ~/.bash_profile

  4. 下载jdk

  5. 查看本机所有的 jdk

    /usr/libexec/java_home -V
  6. 将jdk添加到jenv

    jenv add /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
  7. 切换指定版本

    jenv global 17
  8. jenv命令大全

    jenv doctor    # 校验jenv
    jenv versions    # 查看jenv管理的版本
    jenv global 1.8    # 设置全局 jdk 版本
    jenv local 1.8    # 设置局部 jdk 版本

maven

官网下载地址:https://maven.apache.org/download.cgi

  1. 环境变量

    # maven
    export MAVEN_HOME=/Users/dream/Main/DevTools/maven/apache-maven-3.9.8
    export PATH=$MAVEN_HOME/bin:$PATH
    export MAVEN_REPO=$MAVEN_HOME/repo
  2. 配置

    <!-- 本地仓库路径 -->
    <localRepository>../repo</localRepository>
    ​
    <!-- 阿里云镜像地址 -->
    <mirror>
        <id>aliyunmaven</id>
        <name>aliyun public</name>
        <mirrorOf>central</mirrorOf>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    ​
    <!-- 多版本切换 -->
    <profile>
        <id>jdk-1.8</id>
        <activation>
            <jdk>1.8</jdk> <!-- 只在 JDK 1.8 下激活 -->
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
    </profile>
    ​
    <profile>
        <id>jdk-17</id>
        <activation>
            <activeByDefault>true</activeByDefault> <!-- 默认激活 -->
            <jdk>17</jdk> <!-- 只在 JDK 17 下激活 -->
        </activation>
        <properties>
            <maven.compiler.source>17</maven.compiler.source>
            <maven.compiler.target>17</maven.compiler.target>
        </properties>
    </profile>
    ​
    <profile>
        <id>jdk-17</id>
        <activation>
            <jdk>17</jdk> <!-- 只在 JDK 17 下激活 -->
        </activation>
        <properties>
            <maven.compiler.source>17</maven.compiler.source>
            <maven.compiler.target>17</maven.compiler.target>
        </properties>
    </profile>
  3. 完整示例

    <?xml version="1.0" encoding="UTF-8"?>
    
    <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
    
        <!-- 本地仓库设置
        <localRepository>./repo</localRepository>
        -->
    
        <mirrors>
            <!-- 阿里云镜像地址 -->
            <mirror>
                <id>aliyunmaven</id>
                <name>aliyun public</name>
                <mirrorOf>central</mirrorOf>
                <url>https://maven.aliyun.com/repository/public</url>
            </mirror>
        </mirrors>
    
        <profiles>
            <!-- 多版本切换 -->
            <profile>
                <id>jdk-1.8</id>
                <activation>
                    <jdk>1.8</jdk> <!-- 只在 JDK 1.8 下激活 -->
                </activation>
                <properties>
                    <maven.compiler.source>1.8</maven.compiler.source>
                    <maven.compiler.target>1.8</maven.compiler.target>
                </properties>
            </profile>
    
            <profile>
                <id>jdk-11</id>
                <activation>
                    <jdk>11</jdk> <!-- 只在 JDK 11 下激活 -->
                </activation>
                <properties>
                    <maven.compiler.source>11</maven.compiler.source>
                    <maven.compiler.target>11</maven.compiler.target>
                </properties>
            </profile>
    
            <profile>
                <id>jdk-17</id>
                <activation>
                    <activeByDefault>true</activeByDefault> <!-- 默认激活 -->
                    <jdk>17</jdk> <!-- 只在 JDK 17 下激活 -->
                </activation>
                <properties>
                    <maven.compiler.source>17</maven.compiler.source>
                    <maven.compiler.target>17</maven.compiler.target>
                </properties>
            </profile>
    
            <profile>
                <id>jdk-21</id>
                <activation>
                    <jdk>21</jdk> <!-- 只在 JDK 21 下激活 -->
                </activation>
                <properties>
                    <maven.compiler.source>21</maven.compiler.source>
                    <maven.compiler.target>21</maven.compiler.target>
                </properties>
            </profile>
    
            <profile>
                <id>jdk-25</id>
                <activation>
                    <jdk>25</jdk> <!-- 只在 JDK 25 下激活 -->
                </activation>
                <properties>
                    <maven.compiler.source>25</maven.compiler.source>
                    <maven.compiler.target>25</maven.compiler.target>
                </properties>
            </profile>
        </profiles>
    </settings>