本地创建默认路径在 用户目录\.m2\repository,如果需要自定义本地创建目录地址,可以编辑文件 用户目录\.m2\settings.xml(文件不存在,则需要从Maven安装目录的Conf目录复制),设置 localRepository 元素的值为希望的本地仓库地址,例如:

<settings
xmlns="http://maven.apache.org/SETTINGS/1.0.0"

                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <!-- localRepository

| The path to the local repository maven will use to store artifacts.

|

| Default: ${user.home}/.m2/repository-->

    <localRepository>D:\MavenRepository</localRepository>

    <!--

    省略其他配置

-->

</settings>

 
 

如果需要将本地项目安装到本地仓库,可以在项目中执行如下命令:

mvn
clean
install

命令结果:

 
 

参数:

  • -U 强制Maven检查更新

 
 

  1. 配置远程仓库,在默认的中央仓库无法满足项目的需求,可能项目需要的构件存在与另一个远程仓库中,这时,可以在POM中配置该仓库:

        <repositories>

            <!-- 声明一个仓库 -->

            <repository>

            <!-- 仓库的名称,必须唯一,如果设置为 central 则会替换中央仓库 -->

                    <id>JBoss Repository</id>

                    <!-- 仓库的地址 -->

                    <url>http://repository.jboss.com/maven2/</url>

                    <!-- 开启仓库的发布版本下载支持 -->

                    <releases>

                          <enabled>true</enabled>

    <!-- 配置检查校验和文件的策略,默认值:warn,可选值:fail、ignore -->

    <checksumPolicy></checksumPolicy>

    <!-- 配置从远程仓库检查更新的频率,默认值:daily(每天),可选值:never(不检查)、always(每次构建都检查)、interval:X(每隔X分钟检查一次) -->

    <updatePolicy></updatePolicy>

    </releases>

                    <!-- 开启仓库的快照版本下载支持 -->

                    <snapshots>

                        
    <enabled>false</enabled>

    <!-- 配置检查校验和文件的策略,默认值:warn,可选值:fail、ignore -->

    <checksumPolicy></checksumPolicy>

    <!-- 配置从远程仓库检查更新的频率,默认值:daily(每天),可选值:never(不检查)、always(每次构建都检查)、interval:X(每隔X分钟检查一次) -->

    <updatePolicy></updatePolicy>

                    </snapshots>

                    <!-- 仓库布局,default 表示 Maven2及Maven3的布局 -->

                    <layout>default</layout>

              </repository>

       </repositories>

  2. 远程仓库的认证,处于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库,这时为了能让Maven访问仓库的内容,就需要配置认证信息,认证信息配置在
    setting.xml
    文件中,使用
    servers
    元素及其
    server子元素配置仓库认证信息,示例配置如下:

    <servers>

        <server>

            <!-- POM 配置中,需要认证的
    repository元素的 Id -->

            <id>deploymentRepo</id>

            <!-- 认证用户 -->

            <username>repouser</username>

            <!-- 认证密码 -->

            <password>repopwd</password>

        </server>

    </servers>

  3. 部署到远程仓库,私服的一大作用是部署第三方构建,包括组织内部生成的构建以及一些无法从外部仓库直接获取的构件,在POM文件,配置
    distributionManagement
    元素,该元素包含
    repository

    snapshotRepository
    子元素,前者表示发布版本构件的仓库,后者表示快照版本的仓库,如果远程仓库需要认证,则参考前面的描述,示例配置如下:

    <distributionManagement>

        <repository>

            <!-- 仓库的唯一标识,必须唯一 -->

            <id>Drsoft Repository</id>

            <!-- 仓库的名称,方便人阅读 -->

            <name>Drsoft 仓库</name>

            <!-- 仓库的地址 -->

            <url>http://repository.drsoft/meave2/</url>

        </repository>

        <snapshotRepository>

            <!-- 仓库的唯一标识,必须唯一 -->

            <id>InnerRepository-Shapshot</id>

            <!-- 仓库的名称,方便人阅读 -->

            <name>Inner Repository-Shapshot</name>

            <!-- 仓库的地址 -->

            <url>http://localhost:8081/nexus/content/repositories/InnerRepository-Shapshot/</url>

            <!-- 示是否为Snapshot版本分配一个包含时间戳的构建号 -->

            <uniqueVersion>true</uniqueVersion>

            <!-- 仓库存储布局 -->

            <layout>default</layout>

     
    </snapshotRepository>

    配置完成后,执行以下命令:

    mvn clean deploy

    Maven
    会根据输出的构件部署到配置对应的远程仓库,如果是快照版本则部署到快照仓库,否则部署到发布仓库

  4. 仓库镜像,如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像,例如 http://maven.net.cn/content/groups/public/ 是中央仓库在中国的镜像,因此可以配置 Maven 使用该镜像来替代中央仓库,编辑 setting.xml 配置文件,镜像仓库的认证也和远程仓库的认证配置一致,增加镜像仓库的配置:

    <mirrors>

        <mirror>

            <!-- 镜像仓库的唯一标识 -->

            <id>mirrorId</id>

            <!-- 镜像仓库的名称 -->

            <name>Human Readable Name for this Mirror.</name>

            <!-- 镜像仓库的URL地址 -->

            <url>http://my.repository.com/repo/path</url>

            <!-- 配置那个仓库的镜像,其值为 repository 的 Id,可以使用
    *
    标识所有仓库 -->

            <mirrorOf>repositoryId</mirrorOf>

        </mirror>

    </mirrors>

     
     

    高级镜像配置:

  • <mirrorOf>*</mirrorOf>:匹配所有远程仓库
  • <mirrorOf>external:*</mirrorOf>:匹配所有远程仓库,使用 localhost 除外,使用 file:\\ 协议的除外
  • <mirrorOf>repo1,repo2</mirrorOf>:匹配仓库repo1 和 repo2 ,使用逗号分隔多个远程仓库
  • <mirrorOf>*,!repo2</mirrorOf>:匹配所有远程仓库,repo2除外,使用!将仓库从匹配中排除
  1. 仓库搜索服务,Nexus
    是当前最流行的开源Maven仓库管理软件,Sonatype架设的一个公共Nexue仓库,提供了关键子搜索、类名搜索、坐标搜索、校验和搜索等功能,访问地址:http://repository.sonatype.org
  2. 国内镜像库
    1. 阿里云提供的Maven仓库,地址:http://maven.aliyun.com/nexus/content/groups/public

     
     

笔记:Maven 仓库及配置详解的更多相关文章

  1. 学习笔记——Maven settings.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  2. 学习笔记——Maven pom.xml配置详解

    POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/P ...

  3. maven常用插件配置详解

    常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...

  4. 【转】Maven pom.xml 配置详解

    原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven. ...

  5. Maven settings.xml配置详解

    首先:Maven中央仓库的搜索全部公共jar包的地址是,http://search.maven.org/ ===Maven基础-默认中央仓库============================== ...

  6. 笔记:Maven 插件及配置详解

    插件使用配置 用户能够自己选择将某个插件目标绑定到生命周期的某个阶段上,例如创建项目的源码JAR包,内置的插件绑定关系并没有涉及这个任务,mavent-source-plugin 可以帮助我们完成该任 ...

  7. (转)Maven pom.xml 配置详解

    背景:maven一直感觉既熟悉又陌生,归根结底还是自己不太熟. 1 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者 ...

  8. Maven(四-2) Maven pom.xml 配置详解

    转载于:http://niuzhenxin.iteye.com/blog/2042102 什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述 ...

  9. Maven pom.xml配置详解

    POM的全称是“ProjectObjectModel(项目对象模型)”. 声明规范 <projectxmlns="http://maven.apache.org/POM/4.0.0&q ...

随机推荐

  1. Xmind8 Pro安装教程 Windows

      xmind是一款优秀的思维导图制作软件,这一点相信不用太多解释. 尤其作为测试人员导出测试用例为excel极其方便.网上xmind的破解方法加自己琢磨,重新整理了破解步骤. 亲测可以永久激活截止2 ...

  2. vs2017密钥

    Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH

  3. Android程序启动过程深入解析

    当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Linux内核? 桌面系统linux内核与Android系统linux内核有什么区别? 什么是引导装载程序 ...

  4. GOF 23种设计模式

    设计模式目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Sin ...

  5. Directory Opus(DO) 11破解版安装方法(转)

    DO11原版下载 32位:http://www.gpsoft.com.au/DScripts/download.asp?file=Opus11/DOpusInstall.exe 64位:http:// ...

  6. Struts2入门这一篇就够了

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  7. 用Mirror,搞定用户画像

    Mirror产品概述 Mirror是专为金融行业设计的全面用户画像管理系统.该系统基于星环多年来为多个金融企业客户构建用户画像的经验,深入契合业务需求,实现对用户全方位全维度的刻画.Mirror内置银 ...

  8. Java 中文编码分析

    一.charAt 与 codePonitAt 我们知道 Java 内部使用的是 utf-16 作为它的 char.String 的字符编码方式,这里我们叫它内部字符集.而 utf-16 是变长编码,一 ...

  9. BZOJ 1079: [SCOI2008]着色方案(巧妙的dp)

    BZOJ 1079: [SCOI2008]着色方案(巧妙的dp) 题意:有\(n\)个木块排成一行,从左到右依次编号为\(1\)~\(n\).你有\(k\)种颜色的油漆,其中第\(i\)种颜色的油漆足 ...

  10. 【BZOJ4569】萌萌哒(并查集,倍增)

    [BZOJ4569]萌萌哒(并查集,倍增) 题面 BZOJ 题意: 有一个长度为\(n\)的数 给定\(m\)个限制条件 每次限制\(l1-r1\)与\(l2-r2\)是相同的 求出方案数 题解 如果 ...