Maven实战学习笔记(仓库)
来源:互联网 发布:淘宝定位跳转代码 编辑:程序博客网 时间:2024/03/28 23:05
一、仓库分类
仓库分为本地仓库和远程仓库。当Maven查找构件时,会先从本地仓库查找,不存在就去远程仓库查找,发现需要的构件将其下载到本地仓库。如果本地仓库和远程仓库都木有,则报错。
1、本地仓库默认在C盘计算机名的文件夹.m2中(.开头的文件夹无法直接取名创建,可在命令行命令创建)。用户可自定义本地仓库目录,推荐做法为先复制一份maven安装目录conf文件夹中的setting.xml到.m2目录下,然后设置localRepository为目标目录,如:
<localRepository>F:/maven/repository</localRepository>
2、maven会有默认的远程仓库(中央仓库),配置在所有pom都继承的超级pom中,此pom位于 $M2_HOME/lib/maven-model-builder-3.0.jar org/apache/maven/model/pom-4.0.0.xml中,打开pom可以看到:
<repositories> <repository> <id>central</id> <name>Central Repository</name> <url>http://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>id进行唯一标识,snapshots标签的值false表示不下载快照版本的构件。
3、私服,其作为特殊的远程仓库,架设在局域网内的仓库服务(Nexus)。
二、远程仓库的配置
1、远程仓库pom中配置如下:
<repositories><repostory><id>CN</id> <name>OSChinaCentral</name><url>http://maven.oschina.net/content/groups/public/</url><snapshots><enabled>false</enabled></snapshots><releases><enabled>true</enabled><updatePolicy>never</updatePolicy><checksumpolicy>ignore</checksumpolicy></releases></repostory></repositories>snapshot和releases分别对应快照版本和已发布版本,enabled标识值标明是否下载该版本。其中updatePolicy、checksumpolicy等都是可选值:updatePolicy表示配置从远程仓库检查更新的频率,默认值为daily,表示每天检查一次,可用值包括:never--从不检查更新,always--每次构建都检查更新,interval:X--每隔x分钟检查一次更新(x为任意整数);checksumpolicy表示用来配置maven检查校验和文件的策略,当构件被部署到仓库中时,会同时部署对应的校验和文件,在下载构件时,maven会验证校验和文件,如果校验和验证失败,如果此时checksumpolicy值为默认的warn时,maven则会在执行构建时输出警告信息,其可用值包括:fail--maven遇到校验和错误就让构建失败,ignore--使maven完全忽略校验和错误。
2、部署至远程仓库
构件部署至仓库中,可用来供其他团队成员使用。Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构件部署(deploy)到仓库中,在pom.xml中,配置distributionManagement元素。如:
<distributionManagement> <repository> <id>pro-releases</id><name>Release Repository</name> <url>http://192.168.1.100/content/repositories/proj-releases</url></repository><snapshotRepository><id>pro-snapshot</id><name>Snapshot Repository</name> <url>http://192.168.1.100/content/repositories/proj-snapshot</url></snapshotRepository></distributionManagement>
三、镜像
仓库镜像在setting.xml中配置,如果仓库A可以提供仓库B所有的内容,那么仓库A就是仓库B的镜像。
<mirrors><mirror> <id>CN</id> <name>OSChina Central</name> <url>http://maven.oschina.net/content/groups/public/</url> <mirrorOf>central</mirrorOf></mirror>
如上配置了一个中央仓库的镜像,mirrorOf中值为central,此值为超级pom中默认中央仓库的id,此时任何对于中央仓库的请求都会转到id为CN的仓库中。
0 0
- Maven实战学习笔记(仓库)
- Maven实战学习笔记、6.仓库
- Maven学习笔记(十一)Maven仓库
- maven实战学习笔记二(仓库、生命周期与插件)
- maven实战 学习记录- 仓库
- Maven学习笔记(1) --- 仓库
- Maven学习笔记(二)-仓库
- 《Maven实战》学习总结(四)——仓库
- 《maven实战》_仓库_笔记
- 《maven实战》学习笔记5——maven仓库和镜像
- Maven学习笔记(五):仓库
- Maven学习笔记(二)-仓库
- Maven学习笔记之仓库
- maven学习笔记(二) maven的仓库
- Maven 学习笔记十八:Maven仓库(maven仓库介绍)
- Maven学习笔记之十九:Maven仓库(maven仓库分类)
- maven实战(1)-- maven仓库
- maven实战(三)maven仓库
- ASP.NET MVC Model绑定(六)
- IOS UITableView 基础应用
- 活动选择问题(贪心)
- 高性能定时器时间轮的实现
- SuSE的命令安装软件 zypper,yast2
- Maven实战学习笔记(仓库)
- Android View事件分发机制
- java学习之数据类型
- html画布实现一个时钟应用
- TI BLE研究---- 蓝牙协议栈(GAP)
- __attribute__((packed))的作用
- ZOJ-1170
- phpcms的一些知识
- Tomcat基本配置与属性说明