maven(一) 仓库理解

maven构建配置文件分为两部分:环境配置,构建配置。环境配置主要是仓库配置,构建配置主要是项目中pom 文件依赖的jar,构建流程配置。

1.仓库说明

仓库分为本地,远程仓库 。远程仓库又包含中央默认仓库,私服,其他远程仓库

asd

2.环境配置,环境配置分为全局,用户,项目是三个级别;构建的时候按照一定顺序读取仓库下载依赖

类别 文件位置 备注
全局级别配置 maven/conf/setting.xml 中配置
用户级别配置 .m2/setting.xml 很少用到
项目级别配置 项目目录下的pom 文件

3.配置说明

(1)本地仓库配置只有全局配置在maven/conf/setting.xml中 打开localRepository 默认是注释的;

<localRepository>/you/wanted/path</localRepository>

(2)远程仓库配置

中央仓库是默认的,无法修改但是可以给中央仓库,添加镜像;

 <mirror>  
  <id>mirrorId</id>    //镜像id 一般用于下载时显示
  <mirrorOf>repositoryId</mirrorOf>   //用于需要添加镜像的源id
  <name>Human Readable Name for this Mirror.</name> //描述信心
  <url>http://my.repository.com/repo/path</url>
 </mirror>

例:镜像中央仓库到华为云

    <mirror>
        <id>huaweicloud</id>  
        <mirrorOf>central</mirrorOf>   //代理中央库
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    </mirror>
    
    <mirror>
        <id>huaweicloud</id>  
        <mirrorOf>tainzehao</mirrorOf>   //代理pom中设置的远程id为tianzehao的源
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    </mirror>

全局自定义远程仓库设置全profile仓库,通过 settings.xml 中的 settings.repositories.repository 配置;一般全局的profile要与activeProfiles标签联合使用
或者动态传进来

    <profiles>
     <profile>
     <id>s_profile</id>
     <repositories>
      <repository>
       <id>settings_profile_repo</id>
       <name>netease</name>
       <url>http://mirrors.163.com/maven/repository/maven-public/</url>
       <releases>
        <enabled>true</enabled>
       </releases>
       <snapshots>
        <enabled>true</enabled>
       </snapshots>
      </repository>
     </repositories>
     </profile>
    </profiles>
    
   <activeProfiles/>  //通过这个标签来选择激活

私服也可以通过这个来定义远程仓库

项目级设置仓库,在项目pom中定义远程仓库地址

    <repositories>
        <repository>
          <id>jdk14</id>
          <name>Repository for JDK 1.4 builds</name>
          <url>http://www.myhost.com/maven/jdk14</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </repository>
    </repositories>

项目profile仓库,通过 pom.xml 中的 project.profiles.profile.repositories.repository 配置

总结仓库配置可以分为6中

名称 说明 配置方式
本地仓库 本机下载存储的路径 maven/conf/setting.xml 标签localRepository
中央仓库 无需设置有个默认id central
全局远程仓库 全局的远程仓库,可以用来搭建私服,优先获取仓库 一般与标签activeProfiles 连用 在maven/conf/setting.xml中配置
镜像仓库 镜像仓库可以镜像任何远程仓库只要id唯一对应,其实镜像仓库只是算个接口标签不算仓库 在maven/conf/setting.xml中配置
项目远程仓库 直接在写在项目中的仓库地址 由pom.xml 文件配置
项目profile远程仓库 project.profiles.profile.repositories.repository 配置

重要总结

这些仓库搜索顺序是 local_repo(本地仓库) > settings_profile_repo(全局远程仓库) > pom_profile_repo(项目profile远程仓库) > pom_repositories(项目远程仓库) > settings_mirror(镜像仓库) > central(中央仓库)
这写都配置的情况下,是按照这个顺序收缩的,找不到就报错;

如果没有找到说明是镜像配置不够全,这是我常用的镜像配置。也可以自行查找阿里云的镜像说明https://developer.aliyun.com/mvn/guide

<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central</url>
<mirrorOf>central</mirrorOf>
</mirror>

 <mirror>
   <id>alicentral</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/public</url>
   <mirrorOf>central</mirrorOf>
 </mirror>

 <mirror>
   <id>alimavenspring</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/spring</url>
   <mirrorOf>spring</mirrorOf>
 </mirror>
 <mirror>
   <id>alimavenspringplugin</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/spring-plugin</url>
   <mirrorOf>spring-plugin</mirrorOf>
 </mirror>
</mirrors>

附:setting 标签配置说明

 <?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">

<localRepository>H:/.m2/repository</localRepository> 
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
 <mirror>
   <id>alicentral</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/public</url>
   <mirrorOf>central</mirrorOf>
 </mirror>
 <mirror>
   <id>alimavenspring</id>
   <name>aliyun maven</name>
   <url>https://maven.aliyun.com/repository/spring</url>
   <mirrorOf>spring</mirrorOf>
 </mirror>
</mirrors>
<profiles>
</profiles>

</settings>

标签配置说明参考连接csdn

标签配置说明参考连接JB

仓库搜索顺序前人种树

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容