美文网首页
maven(一) 仓库理解

maven(一) 仓库理解

作者: 后知不觉1 | 来源:发表于2020-03-15 01:09 被阅读0次

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(中央仓库)
这写都配置的情况下,是按照这个顺序收缩的

附:setting 标签配置说明

<settings 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/settings-1.0.0.xsd">
 <localRepository/>     //本地仓库
 <interactiveMode/>     //maven 需要与用户交互  true
 <usePluginRegistry/>   //如果需要让Maven使用文件${user.home}/.m2/plugin-registry.xml来管理插件版本,则设为true。默认为false
 <offline/>             //是否需要在离线模式下运行
 <pluginGroups/>        //供搜寻插件组织Id(groupId)的列表
 <servers/>             //私服的服务器验证信息
 <mirrors/>             //镜像设置
 <proxies/>             //
 <profiles/>            //配置文件
    <activation>        //激活profile 能获取到一些系统参数
    <repositories>      //远程仓库员
    <pluginRepositories>
    <properties>
 <activeProfiles/>      //profile的开启钥匙
</settings>

标签配置说明参考连接csdn

标签配置说明参考连接JB

仓库搜索顺序前人种树

相关文章

  • maven(一) 仓库理解

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

  • maven仓库理解

    前言 使用maven也有一段时间,经常发现有些jar包拉取不到,所以整理出比较详细的maven仓库优先级,更加深层...

  • pom.xml文件中的Build配置

    maven仓库 maven仓库其实就是存放jar包的地方,可以理解为是jar包仓库。主要分为以下几个类别: 本地仓...

  • Maven 仓库管理

    本节主要介绍如何配置 Maven 仓库,发布 jar 包到 Maven 仓库 Maven 仓库是什么? Maven...

  • Maven仓库

    一.Maven 仓库 Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某...

  • Maven实战之Maven仓库

    Maven实战之Maven仓库 Maven仓库作用 仓库,顾名思义就是存放物品的地方。在Maven中,我们可以将其...

  • 拉勾后台管理系统后端开发

    后端开发 Maven settings.xml配置文件 仓库 本地仓库 远程仓库 中央仓库 maven中央仓库 ...

  • 第5章 总结

    5.1 maven 仓库 1、maven 仓库的类型有哪些? 2、maven 工程查找仓库的流程是什么? 3、本地...

  • 【maven】仓库的优先级顺序

    在maven中,仓库可以分为:本地仓库、远程仓库。远程仓库可以分为:中央仓库、私服仓库。中央仓库是maven官方指...

  • Maven仓库管理

    摘要:Maven,本地仓库,远程仓库,仓库配置,仓库认证,镜像 为什么需要仓库 在Maven中任何一个依赖,插件或...

网友评论

      本文标题:maven(一) 仓库理解

      本文链接:https://www.haomeiwen.com/subject/fxiashtx.html