Android/Flutter项目,.m2本地maven仓库的搭建和使用

1,382 阅读3分钟

在 macOS 上搭建并使用本地 Maven 仓库

简介

对于 Android 和 Java 应用开发者来说,利用 Maven 进行项目管理和构建自动化是非常常见的。Maven 使用 .m2 文件夹存储本地仓库的所有数据,包括你所有项目的依赖库(artifacts)。这使得开发者可以快速访问和管理这些依赖,特别是在开发中频繁需要使用到它们时。

.m2 文件夹的作用

.m2 文件夹是 Maven 的本地仓库位置,默认位于用户的主目录下(~/.m2)。这个目录主要用于存储和缓存你项目中用到的所有第三方库(依赖),以及你自己安装到本地仓库中的项目。当你构建一个 Maven 项目时,Maven 首先检查这个本地仓库中是否存在所需的依赖,如果存在,就直接使用,而不是去远程仓库下载,从而加快了构建速度并减少了不必要的网络传输。

安装 Maven

  1. 安装 Homebrew: Homebrew 是 macOS 的包管理器,通过它可以轻松安装 Maven 和其他软件。如果您还没有安装 Homebrew,可以在终端(Terminal)中运行以下命令来安装:

    
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

能装上就行,你用其他方式也行。

  1. 通过 Homebrew 安装 Maven: 使用 Homebrew 安装 Maven 非常简单。打开终端,输入以下命令:

    brew install maven
    
  2. 验证安装: 安装完成后,在终端输入 mvn -v 来检查 Maven 是否成功安装。输出应显示 Maven 的版本信息,如:

    mvn -v
    
    Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
    Maven home: /opt/homebrew/Cellar/maven/3.9.6/libexec
    Java version: 17.0.11, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
    

配置环境变量

为了确保 Maven 在任何目录下都可用,您需要配置环境变量:

  1. 打开 ~/.zshrc 文件: 在终端中,使用文本编辑器打开 .zshrc 文件,例如:

我这里用的zsh,所以是.zshrc

open -e ~/.zshrc
  1. 添加 Maven 环境变量: 在打开的文件中,添加以下行:

    
    export M2_HOME=/opt/homebrew/Cellar/maven/3.9.6/libexec
    export PATH=$PATH:$M2_HOME/bin
    
  2. 使更改生效: 保存并关闭文件后,运行以下命令以重新加载配置文件:

    source ~/.zshrc
    

使用本地 Maven 仓库

在您的项目中使用本地 Maven 仓库主要涉及修改项目的 build.gradle 文件:

  1. 配置 build.gradle: 在您的项目的 build.gradle 文件中,确保添加了 mavenLocal() 到仓库列表中。例如:

    
    allprojects {
        repositories {
            mavenLocal()    // 添加这行以使用本地 Maven 仓库
            google()
            jcenter()
            // 其他仓库
        }
    }
    
  2. 将依赖项安装到本地仓库: 如果您开发了自己的库或者需要将第三方库安装到本地,可以使用 mvn install 命令。例如,在库的项目根目录下运行:

    mvn install
    
  3. 在项目中引用本地依赖: 在项目的 dependencies 部分,确保引用的依赖与本地仓库中的版本匹配。例如:

    dependencies {
        compileOnly 'com.example:mylibrary:1.0.0'  // 确保版本号正确
    }
    

结论

通过以上步骤,您可以在 macOS 上成功设置和使用本地 Maven 仓库。这不仅可以加快项目构建速度,这不仅可以提升构建效率,还可以在开发过程中确保依赖的一致性和可控性。

关于 .m2 的三两其他知识

配置 .m2 文件夹

通常,.m2 文件夹会在你第一次运行 Maven 命令时自动创建。但是,你可以通过配置 Maven 的 settings.xml 文件来修改默认的本地仓库位置或行为:

  1. 访问 settings.xml 文件: 如果在 ~/.m2 目录下还没有 settings.xml 文件,你可以从 Maven 安装目录下的 [Maven_Home]/conf 目录复制一个默认的 settings.xml~/.m2 目录。

  2. 编辑 settings.xml: 使用文本编辑器打开 settings.xml 文件。你可以在这个文件中设置本地仓库的位置,例如:

    <settings>
      <localRepository>/path/to/local/repo</localRepository>
      ...
    </settings>
    

    /path/to/local/repo 替换为你想要的任何路径。

使用 .m2 文件夹

在你的 App 开发项目中使用 Maven 并确保它使用 .m2 文件夹非常简单:

  1. 确保项目的 build.gradle 包含 mavenLocal() : 在你的 Android 或其他 Java 项目中,修改 build.gradle 文件以确保 repositories 部分包括 mavenLocal()

    
    allprojects {
        repositories {
            mavenLocal()    // 使用本地 Maven 仓库
            google()
            jcenter()
            // 其他仓库
        }
    }
    
  2. 向本地 Maven 仓库添加依赖: 如果你开发了自己的库或者需要将特定库的特定版本安装到本地仓库,你可以使用如下 Maven 命令:

    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>