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实战

浙公网安备 33010602011771号