Maven仓库|Java/Gradle

Maven/Gradle的仓库在国内访问网络速度慢,本文将介绍如何配置国内镜像仓库,加速 Maven 仓库访问。

Maven 是一款软件的工程管理和自动构建工具,基于工程对象模型(POM)的概念,奉行约定优于配置原则,主要面向Java开发。Maven是一个基于插件的框架,通过插件执行java开发中各种自动化任务,可以灵活扩展和自定义。另一方面由于有统一的约定,形成标准,插件执行可共享也可重用,极大地提升效率。

更多Maven相关内容,请访问 Maven 详细教程

包依赖管理是maven的重要特性之一。随着开源的运动的发展,几乎所有的软件都不可避免的使用到第三方的开源库,java的开源类库非常丰富,我们可以通过依赖的方式方便地引入到工程中使用。但随着依赖增多版本不一致、版本冲突、依赖臃肿等问题都会接踵而来,maven通过坐标(GAV)标准化地定义了每一个开源组件和依赖关系,漂亮地解决了这些问题。同时Maven还提供了一个免费中央仓,让开发者可以方便地找到全球大部分需要的第三方库。

Maven 仓库 用以存储和分发 Java/Gradle 项目所依赖的 jar 包。Maven中央仓库(https://repo1.maven.org/maven2)是 Maven 默认的仓库,存放了所有 Maven 项目所依赖的 jar 包,但是由于网络原因下载速度较慢。

在国内有些镜像仓库,如阿里云、华为云、腾讯云等,可以加速 Maven 仓库的访问。本文默认配置基于阿里云 Maven仓库

仓库配置

maven 配置指南

打开 maven 的settings.xml配置文件 ,在 <mirrors></mirrors> 标签中添加 mirror 子节点:

  • 项目配置:maven 安装目录的 conf/settings.xml
  • 用户配置:或在用户家目录的 ~/.m2/ 文件夹下
  • 系统全局配置:maven安装目录下的conf目录中的setting.xml
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

如果想使用其它代理仓库,可在<repositories></repositories>节点中加入对应的仓库使用地址。以使用 central 代理仓为例:

<repository>
  <id>central</id>
  <url>https://maven.aliyun.com/repository/central</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

在你的 pom.xml 文件<denpendencies></denpendencies>节点中加入你要引用的文件信息:

<dependency>
  <groupId>[GROUP_ID]</groupId>
  <artifactId>[ARTIFACT_ID]</artifactId>
  <version>[VERSION]</version>
</dependency>

执行拉取命令:

mvn install

gradle 配置指南

build.gradle 文件中加入以下代码:

allprojects {
  repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
    mavenLocal()
    mavenCentral()
  }
}

如果想使用其它代理仓,以使用 central 仓为例,代码如下:

allprojects {
  repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/central'
    }
    mavenLocal()
    mavenCentral()
  }
}

加入你要引用的文件信息:

dependencies {
  compile '[GROUP_ID]:[ARTIFACT_ID]:[VERSION]'
}

执行命令:

gradle dependencies 或 ./gradlew dependencies 安装依赖

仓库列表

仓库名称 阿里云仓库地址 源地址
central https://maven.aliyun.com/repository/central https://repo1.maven.org/maven2/
public https://maven.aliyun.com/repository/public central仓和jcenter仓的聚合仓
gradle-plugin https://maven.aliyun.com/repository/gradle-plugin https://plugins.gradle.org/m2/
apache snapshots https://maven.aliyun.com/repository/apache-snapshots https://repository.apache.org/snapshots/

配置其他镜像

华为云

华为云 提供 Maven CentralGrailsJcenter 的 Java 开源组件。 登录后可获取 3~5MB/s CDN 下载加速地址,下载速度提升10倍。

<mirror>
    <id>huaweicloudmaven</id>
    <name>华为云公共仓库</name>
    <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

腾讯云

使用腾讯云镜像源加速 maven

打开maven的设置文件 settings.xml ,配置如下 repository mirror :

<mirror>
    <id>nexus-tencentyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus tencentyun</name>
    <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>