什么是仓库?
仓库首先是一个地方,其次,仓库是用于保管东西的。同理,maven仓库也是一个地方,也是用于保管东西的。那么,maven的仓库在哪里,保管的又是什么?
maven仓库保管的是许许多多的构件,就是我们所说的第三方jar,比如junit,spring的jar等,而仓库根据其分类的不同,其所在位置也不同。
maven仓库的分类
本地仓库
顾名思义,它是在我们的本地磁盘上,即本地磁盘的某个目录,我们之前安装maven的时候配置过本地仓库的路径,在$M2_HOME/conf/settings.xml的<localRepository>D:\mvnRepository</localRepository>中指定。它对应磁盘上的一个目录,找到这个目录,可以看到,maven是按照一定的规则管理这些依赖,基本规则如下:groupId / artifactId / version / artifactId-version.packaging,然后按照路径创建相应的目录,这成为maven仓库的布局;
远程仓库
顾名思义,它位于远端,根据位置的不同,又分为中央仓库、私服、镜像仓库。
中央仓库:
中央仓库是maven内置的,最大的仓库,可以理解为大boss;默认情况下,我们在新建完maven项目后,第一次运行时,控制台可以看到maven在下载东西,整个过程可能会相当慢,就是因为maven去中央仓库现在需要的构建,而中央仓库位于国外,由于网络等原因,整个下载过程会相当慢;
私服:私服是一种代理技术的运用,由于从中央仓库下载构件比较慢,我们可以通过访问私服,让私服去中央仓库下载,私服下载到构件后会缓存,这样后续的请求就可以直接将缓存的构件返回,无需在下载,私服一般是搭建在公司或组织内部局域网中,因此,速度、稳定性都会有提升;
镜像仓库:
镜像仓库的作用类似于拦截器的概念,比如我们原本是请求某个仓库下载构件的,我们可以通过镜像的方式,将这些请求转交到其他仓库,这样maven就会从其他仓库下载构件。
中央仓库是maven内置的,我们无需配置
私服或者是其他远程仓库使用如下方式配置:
在项目的pom文件中,添加以下配置:
<repositories> <repository> <id>nexus</id> <name>Team Nexus Repository</name> <url>http://10.80.6.34:8081/nexus/content/groups/public</url> </repository> </repositories>
通过repository元素配置一个仓库,一个仓库包括id、name、url,不同的仓库,id不能冲突,url指示仓库的网络地址
镜像仓库的配置:
镜像仓库的配置在maven的settings.xml中
通过mirror元素,配置镜像仓库的地址,其中,mirrorOf元素配置你要对哪个仓库镜像,如上,配置的镜像仓库是阿里云的仓库,central代表中央仓库,意味着原本对中央仓库的请求,现在都转交到阿里云仓库。
仓库解析依赖的机制
maven首先在本地仓库中寻找依赖,本地没有的话,会从远程仓库寻找,如果我们配置了其他仓库或者是私服,会先从这些仓库寻找,如果没找到,则从中央仓库寻找,期间,如果配置了镜像,则从相应的镜像仓库寻找依赖。
相关推荐
Maven的核心概念之一是项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的基本信息,如项目名称、版本、描述、开发者信息,以及项目依赖、构建目标和构建过程等。通过POM,Maven能够理解...
4. **项目对象模型(POM)**:POM是Maven的核心概念,它是项目配置的XML文件,包含了项目的元数据,如项目名称、版本、依赖、构建配置等。POM可以继承,从而实现项目间的共用配置。 5. **项目信息管理**:Maven ...
Maven的核心概念是项目对象模型(Project Object Model,POM),它是一个XML文件,描述了项目的配置信息,包括项目依赖、构建目标、插件配置等。通过POM,Maven能够自动化处理构建过程,如编译源代码、运行测试、...
Apache Maven 是一个强大的Java项目管理工具,它基于项目对象模型(Project Object Model, POM)的概念,能够自动化构建、依赖管理和项目信息管理。Maven 的核心理念是通过标准化项目结构和依赖管理,简化Java开发...
5. **仓库**:Maven使用仓库来存储依赖库,包括本地仓库(本地硬盘上的一个目录)和远程仓库(如中央Maven仓库和其他第三方仓库)。默认情况下,Maven首先查找本地仓库,如果找不到则向远程仓库请求。 **Maven ...
Maven的核心概念包括项目对象模型(POM)、依赖管理和插件。POM是一个XML文件,描述了项目的基本信息、构建配置和依赖关系。Maven通过解析POM来执行构建任务,自动解决和下载项目所需的依赖。依赖管理则允许开发者...
POM是Maven的核心概念之一,它通过`pom.xml`文件定义项目的坐标、依赖、构建路径等信息。这些信息构成了项目的元数据,指导Maven如何构建项目。 - **坐标**:包括`groupId`、`artifactId`、`version`等信息,用于...
通过理解 Maven 的核心概念、工作原理以及提供的命令,开发者可以更好地管理项目依赖,构建可靠的软件工程。使用官方下载的 Maven 3.5.4 可以确保获取稳定且受支持的版本,减少因工具问题带来的困扰。
Maven的核心概念包括: - **项目对象模型 (POM)**:POM是一个XML文件,包含了项目的配置信息,如依赖、构建目标、构建过程等。 - **依赖管理**:Maven自动处理项目依赖,通过POM中的`<dependencies>`标签声明项目所...
Maven的核心概念是项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的基本信息,如项目名称、描述、版本、依赖、构建设置等。通过POM,Maven可以理解项目的需求,并自动下载必要的库文件,...
Maven的核心概念是基于项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的配置信息,如依赖、构建目标、构建过程等。通过POM,Maven可以自动处理项目的构建过程,如编译、测试、打包、部署...
**Maven的核心概念与功能:** 1. **项目对象模型(POM)**:POM是Maven的核心,它是一个XML文件,包含了项目的基本信息、构建配置、依赖关系等。通过POM,Maven能够理解如何构建和管理项目。 2. **依赖管理**:...
#### 第五章 IDEA 创建 Maven 版 Web 工程 在 IntelliJ IDEA 中创建 Maven 版的 Web 工程非常简单。首先,选择新建项目,然后选择Maven作为项目类型。接下来,选择适当的模板,如Spring Web项目,并配置项目的坐标...
Maven的核心概念是基于项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的配置信息,如依赖、构建目标、构建过程等。通过POM,Maven可以自动化处理项目的构建、编译、测试、打包、部署等一...
1. Maven的核心概念: - POM:Maven 的核心是POM,它是关于项目的信息和构建指令的XML文件。它包含了项目的基本信息(如名称、版本、描述)、构建配置(源代码目录、目标目录、编译器设置等)以及项目依赖。 - ...
1. **Maven 的核心概念** - **POM**:POM是Maven项目的核心,是一个XML文件,包含了项目的配置信息,如项目属性、依赖、构建目标等。 - **仓库**:Maven使用本地仓库存储下载的依赖项,并从远程仓库下载所需资源。...
9. **POM.xml**:Project Object Model (POM) 是Maven的核心概念,它是项目的配置文件,包含了项目信息、依赖管理、构建指令等内容。 10. **Maven构建命令**:常用Maven命令如`mvn clean`(清理构建目标)、`mvn ...
### Maven的核心概念 1. **POM(Project Object Model)**:Maven的中心概念是POM,它是一个XML文件,包含了项目的基本信息、构建指令、依赖关系和其他配置。POM定义了项目的结构、构建过程和项目间的依赖关系。 2...
1. **Maven的核心概念**: - **POM (Project Object Model)**:Maven项目的基本配置文件,通常命名为pom.xml。它包含了项目信息、构建指令、依赖关系、插件配置等,使得Maven能理解并管理项目。 - **坐标...