Mac Maven安装配置

在Mac系统上安装和配置Maven项目管理工具

Maven概述

Apache Maven是一个项目管理和构建自动化工具,主要用于Java项目。它通过项目对象模型(POM)来管理项目的构建、报告和文档。

依赖管理

自动下载和管理项目依赖

构建自动化

标准化的项目构建生命周期

项目结构

统一的项目目录结构

插件生态

丰富的插件扩展功能

Maven的优势

简化项目构建过程
统一的项目结构
自动依赖管理
与IDE良好集成
支持多模块项目
丰富的插件生态

前置要求

Java JDK

Maven需要JDK 8或更高版本。如果还没有安装JDK,请先完成 第一章:JDK安装配置

命令行工具

熟悉基本的终端命令操作。

网络连接

Maven需要从中央仓库下载依赖,确保网络连接正常。

检查Java环境

在安装Maven之前,先确认Java环境是否正确配置:

java -version
echo $JAVA_HOME

如果命令执行失败或JAVA_HOME为空,请先完成JDK的安装和配置。

Homebrew安装方式(推荐)

为什么推荐Homebrew?

  • 安装简单,一条命令搞定
  • 自动处理环境变量配置
  • 版本管理和更新方便
  • 与系统集成良好

步骤1:安装Maven

brew install maven

安装过程会自动下载Maven及其依赖,可能需要几分钟时间。

步骤2:验证安装

mvn -version

成功安装后,你应该看到类似这样的输出:

Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /opt/homebrew/Cellar/maven/3.9.5/libexec
Java version: 17.0.8, vendor: Eclipse Adoptium
Java home: /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "14.0", arch: "aarch64", family: "mac"

步骤3:查看安装位置

which mvn
brew --prefix maven

这些命令会显示Maven的安装路径,通常在:

  • Apple Silicon Mac: /opt/homebrew/bin/mvn
  • Intel Mac: /usr/local/bin/mvn

手动安装方式

如果你不想使用Homebrew,也可以手动下载安装Maven。

步骤1:下载Maven

访问Maven官网下载最新版本:

Apache Maven官网

下载Binary tar.gz archive

下载Maven

选择"Binary tar.gz archive"版本,不要下载源码版本。

步骤2:解压安装

将下载的文件解压到合适的目录:

# 创建安装目录
sudo mkdir -p /opt/maven

# 解压到安装目录(替换为实际的文件名)
sudo tar -xzf ~/Downloads/apache-maven-3.9.5-bin.tar.gz -C /opt/maven --strip-components=1

# 设置权限
sudo chown -R $(whoami):staff /opt/maven

步骤3:配置环境变量

编辑Shell配置文件:

nano ~/.zshrc

添加以下内容:

# Maven Environment
export MAVEN_HOME=/opt/maven
export PATH=$MAVEN_HOME/bin:$PATH

重新加载配置:

source ~/.zshrc

基础配置

Maven配置文件位置

Maven的配置文件位于以下位置:

全局配置

$MAVEN_HOME/conf/settings.xml

影响所有用户的Maven配置

用户配置

~/.m2/settings.xml

只影响当前用户的Maven配置

推荐使用用户配置文件,避免影响其他用户。

创建用户配置文件

创建Maven用户配置目录和文件:

# 创建.m2目录
mkdir -p ~/.m2

# 创建settings.xml文件
touch ~/.m2/settings.xml

基础配置内容

编辑 ~/.m2/settings.xml 文件:



  
  
  ${user.home}/.m2/repository
  
  
  false
  
  
  
    org.apache.maven.plugins
    org.codehaus.mojo
  
  
  
  
  
  
  
    
    
  
  
  
  
    
    
      aliyun-maven
      central
      Aliyun Maven Repository
      https://maven.aliyun.com/repository/central
    
  
  
  
  
    
      default
      
        17
        17
        UTF-8
      
    
  
  
  
  
    default
  
  

高级配置

本地仓库配置

默认情况下,Maven会将依赖下载到 ~/.m2/repository。你可以自定义位置:


/Users/yourusername/maven-repo

更改本地仓库位置后,需要重新下载所有依赖。

镜像源配置

为了提高下载速度,推荐配置国内镜像源:


  aliyun-maven
  central
  Aliyun Maven Repository
  https://maven.aliyun.com/repository/central

  tencent-maven
  central
  Tencent Maven Repository
  https://mirrors.cloud.tencent.com/nexus/repository/maven-public/

  huawei-maven
  central
  Huawei Maven Repository
  https://repo.huaweicloud.com/repository/maven/

JDK版本配置

配置默认的Java编译版本:


  jdk-17
  
    17
    17
    17
    UTF-8
    UTF-8
  

内存配置

为Maven配置更多内存,提高构建性能:

# 在 ~/.zshrc 中添加
export MAVEN_OPTS="-Xmx2048m -Xms1024m -XX:MaxPermSize=512m"

重新加载配置:

source ~/.zshrc

安装验证

验证安装

检查Maven版本

mvn -version

检查配置文件

mvn help:effective-settings

检查本地仓库

ls -la ~/.m2/

测试依赖下载

mvn dependency:resolve

基本使用

创建新项目

使用Maven原型创建一个简单的Java项目:

mvn archetype:generate \
  -DgroupId=com.example \
  -DartifactId=my-app \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DinteractiveMode=false

这将创建一个标准的Maven项目结构:

my-app/
├── pom.xml
└── src/
    ├── main/
    │   └── java/
    │       └── com/
    │           └── example/
    │               └── App.java
    └── test/
        └── java/
            └── com/
                └── example/
                    └── AppTest.java

常用Maven命令

编译项目

mvn compile

运行测试

mvn test

打包项目

mvn package

清理项目

mvn clean

安装到本地仓库

mvn install

完整构建

mvn clean install

依赖管理

pom.xml 中添加依赖:


  
  
    org.junit.jupiter
    junit-jupiter
    5.9.2
    test
  
  
  
  
    org.apache.commons
    commons-lang3
    3.12.0
  

查看项目依赖树:

mvn dependency:tree

测试项目构建

进入创建的项目目录并测试构建:

cd my-app
mvn clean compile test package

如果一切正常,你应该看到 "BUILD SUCCESS" 的消息。