Maven 仓库

Maven仓库分为:本地仓库 和 远程仓库bash

1.本地仓库:即 ~/.m2/setting.xml 中的 localRepository 元素的值。网络

2.远程仓库:中央仓库-广域网的仓库,私服--局域网内的仓库maven

   默认远程仓库:布局

<project>
   .....
   <repositories>
      <repository>
         <!--Maven 默认远程仓库 id 为central,一样的仓库ID会覆盖-->
         <id>central</id>
         <name>Maven Repository Switchboard</name>
         <url>http://repo1.maven.org/maven2</url>
         <!--表示布局是Maven2和3 的默认布局,不是Maven1的布局-->
         <layout>default</layout> 
         <!--控制快照版构件-->
         <snapshosts>
           <enabled>false</enabled>
         </snapshosts>
      </repository>
   <repositories>
   .....
</project>

    远程仓库配置:url

<project>
   .....
   <!--声明远程仓库-->
   <repositories>
      <!--声明一个或者多个repository元素(远程仓库)-->
      <repository>
         <!--Maven 默认远程仓库 id 为central,一样的仓库ID会覆盖-->
         <id>仓库声明惟一ID</id>
         <name>仓库名称</name>
         <url>仓库地址</url>
         <!--控制发布版构件-->
         <releases>
           <!-- true:开启  false:关闭-->
           <enabled>true</enabled>
         </releases>
         <!--控制快照版构件-->
         <snapshosts>
           <enabled>true</enabled>
           <!--控制更新频率,默认 daily(天天更新),never(从不),always(每次),interval:X(每隔X分钟更新)-->
           <updatePolicy>daily<updatePolicy>
           <!--配置检查检验和文件的策略,默认 warn(构建输出警告),fail(遇到校验和错误则构建失败),
                           ignore(忽略校验和错误)-->
           <checksumPolicy>ignore</checksumPolicy>
         </snapshosts>
         <!--表示布局是Maven2和3 的默认布局,不是Maven1的布局-->
         <layout>default</layout>
      </repository>
   <repositories>
   .....
</project>

认证:有些远程库须要身份认证,在settings.xml 中配置认证信息spa

<settings>
   ...
   <servers>
      <server>
         <id>远程仓库ID<id>
         <name>用户名</name>
         <password>密码</password>
      </server>
   </servers>
   ...
</settings>

部署至远程仓库代理

<project>
   ...
   <distributionManagement>
      <!--发布版本构件的仓库-->
      <repository>
         <id>远程仓库的惟一标识</id>
         <name>名称</name>
         <url>仓库地址</url>
      </repository>
      <!--快照版本的仓库-->
      <snapshotRepository>
         <id>远程仓库的惟一标识</id>
         <name>名称</name>
         <url>仓库地址</url>
      </snapshotRepository>
   </distributionManagement>
   ...
</project>

命令:code

mvn clean deploy  #发布到远程仓库

mvn clean install-U #强制让Maven检查更新,忽略<updatePolicy>的配置

远程仓库下载和部署到远程仓库,须要认证,配置方式都同样。server

仓库镜像:xml

<settings>
   ...
   <!--根据网络须要指向的一个代理-->
   <mirrors>
      <mirror>
         <id>镜像仓库惟一标识</id>
         <name>镜像仓库名称</name>
         <url>地址</url>
         <!--mirrorOf的值为 * 表明全部Maven远程仓库镜像
                          external:* 表明全部不在本机上的远程仓库
                          repo1,repo2 表明匹配repo1,repo2 两个仓库
                          *,!repo1     表明匹配除repo1的全部远程仓库-->
         <mirrorOf>远程仓库ID<mirrorOf>
      </mirror>
   <mirrors>
   ...
</settings>
相关文章
相关标签/搜索