Maven仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven仓库有三种类型:
- 本地仓库(local repository):在第一次执行maven命令的时候被创建在用户自己电脑上,默认被创建在%USER_HOME%目录下。要修改默认位置,在%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件中定义另一个路径。
- 中央仓库(central repository):该仓库是由Maven社区提供的仓库,其中包含了大量的常用库。需要通过网络才能访问。
- 远程仓库(romote repository):该库是开发人员自己定制仓库(公司搭建一台服务器,构建一个仓库,对外公开),包含了所需要的代码库或者其他工程中用到的jar文件。
Maven依赖搜索顺序:
- 步骤一:在本地仓库搜索,如果找不到,执行步骤二,如果找到了则执行其他操作。
- 步骤二:在中央仓库搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤四,如果找到了则下载到本地仓库中以备将来引用。
- 步骤三:如果远程仓库没有被设置,Maven将简单的停止处理并抛出错误(无法找到依赖的文件)。
- 步骤四:在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则Maven将停止处理并抛出错误(无法找到依赖文件)。
配置本地仓库:
找到%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件,打开文件,添加本地仓库的目录。

配置中央仓库(Maven Aliyun仓库)
由于Maven仓库默认在国外,国内使用难免很慢,所以跟换为阿里云的仓库。
找到%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件,在mirros节点上,添加内容如下:

使用时,在项目的pom.xml文件里添加:
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
远程仓库
在pom.xml,声明所依赖的文件,类似以下内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <dependencies> <dependency> <groupId>com.companyname.common-lib</groupId> <artifactId>common-lib</artifactId> <version>1.0.0</version> </dependency> <dependencies> <repositories> <repository> <id>companyname.lib1</id> <url>http://download.companyname.org/maven2/lib1</url> </repository> <repository> <id>companyname.lib2</id> <url>http://download.companyname.org/maven2/lib2</url> </repository> </repositories> </project>
posted on
浙公网安备 33010602011771号