Maven仓库|Java/Gradle
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 Central,Grails,Jcenter 的 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>