maven实战 学习记录- 仓库


maven仓库相关:


本地仓库:

    可以在 setting.xml 中配置 本地仓库的地址

     <settings>  <localRepository>D:\java\repository\</loaclRepository> </settings> 

   

远程仓库:不在本地,从远程获取构件。


中央仓库: 默认的远程仓库,http://search.maven.org/


私服:  特殊的远程仓库。

         使用私服的好处:节省自己的带宽;加速Maven构建;部署第三方构件(无法从任何一个外部远程仓库获取的);

              提高稳定性,增强控制,一些私服软件(如 Nexus)提供很多额外的功能,如权限管理,RELEASE/SANPSHOT区分等;

             降低中央仓库负荷。


远程仓库的配置:

        <repositories>

            声明一个或多个仓库:repository

            <repository>

                 <id>jboss</id><name>JBoss Repository</name>

                <url>...</url>指向仓库地址

                <releases><enabled>true</enabled></releases> //开启仓库发布版本下载支持

               <sanpshots><enabled>false</enabled>//关闭仓库的快照版本下载支持

               <updatePolicy>更新策略

                可选值: daily(默认):每天检查一次;never:从不检查;always:每次构建都检查;interval:X : 每隔X分钟检查一次更新(X为任意数)

                </updatePolicy>

                <checksumPolicy>检查验证和文件的策略

                    可选值:warn(默认):执行构建是输出警告信息;fail:遇见校验和错误就让构建失败;ignore:完全忽略校验和错误;

                </checksumPolicy>

               </sanpshots>              

               <layout>default</layout>

            </repository>

        </repositories>


远程仓库的认证:

     配置在  setting.xml 中,如下:

            <settings>

            ...

             <servers>

               <server>

                  <id>my-proj</id>  id必须与pom中需要认证的 repository元素的id相同

                  <username>repo-user</username> <password> repo-pwd</password>

              </server>

            </servers>

            ... 

            </settings>


部署至远程仓库:

       需要配置 pom.xml   的 distributionManagement 元素

           <distributionManagement>
             <repository> 发布版本构件
                <id>proj-release</id>
                <name>Proj Release Repository </name>
                <url> http://ip//..</url> 仓库地址
             </repository>
             <snapshotRepository> 快照版本构件
               <id>proj-snapshot</id>
               <name>Proj Sanpshot Repository</name>
               <url> http://ip//..</url>
             </snapshotRepository>
         </distributionManagement>

         

       配置正确后,运行:mvn clean deploy ;



快照版本:

      

从仓库解析依赖的机制: mvn clean install-U 强制让maven更新

        如果依赖声明配置的是 Release(不推举) 、 latest  (不推举) 、Snapshot , Maven检查更新的时候,都会检查仓库的元数据

     groupId/artifactId/version/maven-metadata.xml ,计算出更新的版本。


镜像:

      配置在 setting.xml 中

 

	<settings>
		...
		<mirrors>
			<id>maven.net.cn</id>
			<name>one of the central mirrors in China </name>
			<url>http://...</url>
			<mirrorOf>
				* / external:* / repo1,repo2 / *,!repo1 /
			</mirrorOf>
		</mirrors>
		...
	</settings>


仓库搜索:

      SonaType Nexus : http://repository.sonatype.org/

      Jarvana : http://www.jarvana.com/jarvana/

      MVNbrowser : http://www.mvnbrowser.com

      MVNrepository : http://mvnrepository.com/















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值