Maven仓库

1.仓库路径

 

 

groupId/artifactId/version/artifactId-version-classif ier.packaging  (classifier连着打会这样。。。。所以加了个空格)

2.仓库分类

 

  2.1 本地仓库

    

    一个构件只有在本地仓库中之后,才能由其他Maven项目使用,从远程仓库下载,或者本地install

  2.2 远程仓库

    2.2.1 中央仓库

       org/apache/maven/model/pom-4.0.0.xml

       

       snapshots元素,其子元素enabled的值为false,表示不从该中央仓库下载快照版本的构件

    2.2.2  其他远程仓库        

       

       在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。该例中声明了一个id为jboss,名称为JBoss Repository

       的仓库。任何一个仓库声明的id必须是唯一的,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他的仓库声明也使

       用该id,就会覆盖中央仓库的配置。

       对于releases和snapshots来说,除了enabled,它们还包含另外两个子元素updatePolicy和checksumPolicy:

       元素updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值是daily,表示Maven每天检查一次。其他可用的值包括:

       never—从不检查更新;always—每次构建都检查更新;interval:X—每隔X分钟检查一次更新(X为任意整数)。

       元素checksumPolicy用来配置Maven检查检验和文件的策略。当构件被部署到Maven仓库中时,会同时部署对应的校验和文件。在下载

       构件的时候,Maven会验证校验和文件,如果校验和验证失败,怎么办?当checksumPolicy的值为默认的warn时,Maven会在执行构建

       时输出警告信息,其他可用的值包括:fail—Maven遇到校验和错误就让构建失败;ignore—使Maven完全忽略校验和错误。

3.远程仓库的认证

通过server中的id与POM中需要认证的repository元素的id关联。

4.部署至远程仓库

运行mvn clean deploy,maven就会将项目构件输出的构件部署到配置对应的远程仓库。

5.快照版本

Maven在构件时会为快照版本打上时间戳,定时检查更新最新的时间戳版本,mvn clean install-U 可强制检查更新。

6.镜像

可以使用私服代理所有外部公共仓库,再将私服作为镜像,简化配置。

·<mirrorOf>*</mirrorOf>:匹配所有远程仓库。

·<mirrorOf>external:*</mirrorOf>:匹配所有远程仓库,使用localhost的除外,使用file://协议的除外。也就是说,匹配所有不在本机上的远程仓库。

·<mirrorOf>repo1,repo2</mirrorOf>:匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。

·<mirrorOf>*,!repo1</mirrorOf>:匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。

需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

 

------------------------------------------摘自 Maven实战

posted @ 2020-08-11 14:20  kylinmac  阅读(824)  评论(0)    收藏  举报