
Maven 是一款软件的工程管理和自动构建工具,基于工程对象模型(POM)的概念,奉行约定优于配置原则,主要面向Java开发。Maven是一个基于插件的框架,通过插件执行java开发中各种自动化任务,可以灵活扩展和自定义。另一方面由于有统一的约定,形成标准,插件执行可共享也可重用,极大地提升效率。
更多Maven相关内容,请访问 Maven 详细教程[1]
包依赖管理是maven的重要特性之一。随着开源的运动的发展,几乎所有的软件都不可避免的使用到第三方的开源库,java的开源类库非常丰富,我们可以通过依赖的方式方便地引入到工程中使用。但随着依赖增多版本不一致、版本冲突、依赖臃肿等问题都会接踵而来,maven通过坐标(GAV)标准化地定义了每一个开源组件和依赖关系,漂亮地解决了这些问题。同时Maven还提供了一个免费中央仓,让开发者可以方便地找到全球大部分需要的第三方库。
Maven 仓库 用以存储和分发 Java/Gradle 项目所依赖的 jar 包。Maven中央仓库(https://repo1.maven.org/maven2)是 Maven 默认的仓库,存放了所有 Maven 项目所依赖的 jar 包,但是由于网络原因下载速度较慢。
在国内有些镜像仓库,如阿里云、华为云、腾讯云等,可以加速 Maven 仓库的访问。本文默认配置基于阿里云 Maven仓库[2]。
仓库配置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 安装依赖
仓库列表仓库名称阿里云仓库地址源地址centralhttps://maven.aliyun.com/repository/centralhttps://repo1.maven.org/maven2/publichttps://maven.aliyun.com/repository/publiccentral仓和jcenter仓的聚合仓gradle-pluginhttps://maven.aliyun.com/repository/gradle-pluginhttps://plugins.gradle.org/m2/apache snapshotshttps://maven.aliyun.com/repository/apache-snapshotshttps://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>
引用链接[1] Maven 详细教程: https://cncfstack.com/p/maven/[2] 阿里云 Maven仓库: https://maven.aliyun.com