maven入门基础:仓库概念和仓库分类(一)

一. 仓库概念

1. 构件:指的是任何的依赖、插件、项目输出的jar包,都称之为构件

2. 仓库:Maven构件在统一的地方存储,然后供任何Maven项目使用

3. 仓库根据构件的唯一坐标(/groupId/artifactId/version/artifactID-version.packaging)确定唯一的存放地址,这就是仓库的布局

4. 坐标内容包括

  • groupId:必选,通常用java包的形式表示(也就是.(点)表示法),内容一般是组织或公司下的某个项目,例如,org.sonatype.nexus,org.sonatype为非盈利组织,nexus为实际项目,与它实际的域名:nexus.sonatype.org对应
  • artifactId:必选,项目或模块名,表示实际项目作为前缀,后面跟模块名,例如,nexus-indexer,nexus-core
  • version:必选,版本号,通常用两个点表示,例如,1.0.0
  • packaging:可选,Maven打包方式,包括:jar(公用库,默认),war(web包)、POM(父模块)

 

 

 

二. 仓库分类

分为本地仓库远程仓库(远程仓库包括:中央仓库、私服仓库、其他公共库)

 

1. 本地仓库:非Maven工程的lib目录下一般存放的是公共的jar包,而Maven工程不需要有lib目录,所有的公共jar包都存在在本地仓库

2. 本地仓库的目录:一般在.m2/repository,比如:

 

 

而我的本地是在E:\maven_repository,为什么会不一样,这与目录设置有关

 

3. 本地仓库存放jar包的目录设置

配置文件的路径:D:\program\IntelliJ IDEA 2019.1.3\plugins\maven\lib\maven3\conf\settings.xml

 

 

配置项:

<localRepository>E:\maven_repository</localRepository>

 

 4. 构建如何进入本地仓库

(1) 从远程仓库下载

(2) 直接拷贝其他构建到本地仓库,比如项目组内有B依赖A,A又不在远程仓库,那直接把A拷贝到B的本地仓库

 

 

 


 

 

1. 远程仓库

2. 超级POM文件

(1) 它是所有Maven项目的最底层POM文件,其他的POM文件都要继承于它

(2) 它定义了默认的中央仓库地址信息

3. 默认的中央仓库地址信息查找方法:maven-model-builder-3.3.9.jar

解压后可以查看仓库地址定义在:

<repositories> <repository> <id>central</id> central:中央仓库唯一标识 <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> URL:中央仓库地址 <layout>default</layout> 默认布局模式(构建查找模式)。根据构件的唯一坐标(/groupId/artifactID/verison/artifactID-version.packaging)确定唯一的存放地址,这就是仓库的布局,注意groupId/artifactID 中的“.”会转换为“/”形成文件路径 <snapshots> <enabled>false</enabled> false:不从中央仓库下载快照true:从中央仓库下载快照 </snapshots> </repository> </repositories>

 

 


 

 

1. 私服:位于中央仓库之前的直接对接客户端的仓库

 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/12242501.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(886)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示