Maven学习3(中央仓库)
Maven项目在运行的时候,会首先找本地仓库是否有需要的jar,如果没有则去调用远程仓库。
解读Maven在仓库中的存储路径:
1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org.testng --->org/testng
2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng
3.使用version准备路径,将version连接到后面:org/testng/testng/5.8
4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8
5.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5
6.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar
maven 仓库 示意图
配置远程仓库(可以在项目的pom.xml中配置 也可以在setting.xml中配置)
当有些构件在中央仓库不存在,必须从其他仓库获取的时候,我们需要在maven项目的pom.xml中 配置一个可以获取到该构件的远程仓库。
配置过程如下:
<!--在pom中配置远程仓库的地址-->
<repositories>
<repository>
<!--仓库id ,必须唯一,否则覆盖原有的仓库-->
<id>jboss</id>
<!--仓库名-->
<name>JBoss repository</name>
<!--远程仓库地址-->
<url>http://repository.jboss.com/maven2/</url>
<releases>
<!--表示允许下载使用发布版本-->
<enabled>true</enabled>
<!--设置从远程更新的频率,默认是daily -->
<!--三种取值 alway 总是更新 never从不更新 interval:X X表示每隔X分钟 -->
<updatePolicy>daily</updatePolicy>
<!--用来配置maven检查校验和文件的策略-->
<!--当构建部署到本地仓库的时候 会同时部署对应的校验和文件-->
<!--有三种取值 ignore 忽略校验 fail 校验失败 停止构建 warm 输出警告信息-->
<checksumPolicy>ignore</checksumPolicy>
</releases>
<!--使用默认的布局-->
<layout>default</layout>
<!--是否允许使用快照版本-->
<snapshots>
<enabled>false</enabled>
<!--设置从远程更新的频率,默认是daily -->
<!--三种取值 alway 总是更新 never从不更新 interval:X X表示每隔X分钟 -->
<updatePolicy>daily</updatePolicy>
<!--用来配置maven检查校验和文件的策略-->
<!--当构建部署到本地仓库的时候 会同时部署对应的校验和文件-->
<!--有三种取值 ignore 忽略校验 fail 校验失败 停止构建 warm 输出警告信息-->
<checksumPolicy>ignore</checksumPolicy>
</snapshots>
</repository>
</repositories>
远程仓库的认证 (在setting.xml中配置)
远程仓库的认证不能像远程仓库的配置一样在pom.xml中进行,需要在setting.xml中配置,因为该项目很可能是大家公用的一个maven项目,而本地仓库是放在本地属于个人。
远程仓库的配置如下:
<servers>
<server>
<!--id名字必须要与pom中配置的远程仓库id一样,这样才可以对立起来-->
<id>jboss</id>
<!--用户名-->
<username>admin</username>
<!--密码-->
<password>1234@qwer</password>
</server>
<servers>
部署项目到远程仓库
我们可以把自己的项目通过maven部署到远程仓库,供自己的同事使用
部署到远程服务器 需要在pom中进行如下配置:
<!--部署到远程仓库-->
<distributionManagement>
<!--发布版本构建的仓库-->
<repository>
<!--远程仓库的id-->
<id>taocodeReleases</id>
<!--构件的名字-->
<name>account-email</name>
<!--要部署的远程仓库地址-->
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/releases</url>
</repository>
<!--快照版本构建的仓库-->
<snapshotRepository>
<!--远程仓库的id-->
<id>taocodeSnapshots</id>
<!--构件的名字-->
<name>account-email</name>
<!--要部署的远程仓库地址-->
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
使用命令:mvn clean deploy
镜像
加入B仓库包含了A仓库的所有服务,那么B就是A 的镜像。
当我们访问处在别的国家的中央仓库的时候没有与网络的限制,下载速度会很慢,所以我们可以使用在国内的中央仓库的镜像 。
镜像配置如下:
<mirrors>
<mirror>
<!--仓库id,如果需要验证 在setting中配置该id的用户名 密码-->
<id>alimaven</id>
<name>aliyun maven</name>
<!--中央仓库的镜像-国内中央仓库的地址-->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<!--中央仓库的id-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
为了使用更简单 复杂的需要,<mirrorOf>可以进行如下配置

仓库搜索服务
学会如何使用maven,引入jar 包 是通过使用jar的坐标决定,如何查找jar的坐标,有以下几个网站可以使用
1、https://repository.sonatype.org/ Sonaty Nexus
2、http://mvnrepository.com/ 中央仓库
Maven学习3(中央仓库)的更多相关文章
- 如何发布Maven依赖到中央仓库
平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven-plugin(https://gith ...
- Maven的默认中央仓库
当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...
- 【Maven学习】远程仓库的配置
很多情况下,默认的中央仓库无法满足项目的需求,我们可能需要配置新的远程仓库,此时我们可以这样配置: <repository> <id>java-net</id> & ...
- Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载
当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...
- maven学习(2)仓库和配置
1:本地资源库.中央存储库.远程存储库 1.1 本地资源库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖需要下载.首先,Maven 将从本地资源库 ...
- 转:Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载
当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...
- maven配置本地仓库、maven配置阿里中央仓库、eclipse配置maven
一.maven配置本地仓库路径 1.打开下载好的maven目录 (若没安装,可以看我写的安装步骤https://www.cnblogs.com/xjd-6/p/11344719.html) 2.进入c ...
- Maven修改默认中央仓库
其实Maven的默认仓库是可以修改的.比如使用阿里云的镜像地址等. 修改步骤: 1.打开{M2_HOME}/conf/settings.xml文件,找到mirrors节点,修改如下代码: <mi ...
- maven阿里云中央仓库
配置 修改maven根目录下的conf文件夹中的setting.xml文件,内容如下: <mirrors> <mirror> <id>alimaven</id ...
- MAVEN 阿里云中央仓库
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...
随机推荐
- Linux gzip命令
语法: gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnN ...
- mysql学习二、SQL常用数据类型
一.常用数据类型 二.选择数据类型的原则: 1 业务需要 2 满足第一个条件下,需要存储空间最小的. 三.常用的选择数据类型思路:
- Spring 获取bean 几种方式
转载自: http://www.cnblogs.com/luoluoshidafu/p/5659574.html 1.读取xml文件的方式,这种在初学入门的时候比较适用 . ApplicationCo ...
- Pycharm配置支持vue语法
1. 2. 3. 4. 5.
- display:flex布局
/*背景 居中 自适应 铺满容器*/ background: center / cover; flex布局是什么? flex是Flexibe Box 的缩写,意思为”弹性布局”, 用来为盒子模型提供最 ...
- nginx+ flume
nginx 作用: 做负载均衡 nginx和lvs的区别:nginx可以做反向代理 1.上传nginx安装包 tar -zxvf tengine-2.1.02.安装环境 依赖 gcc opens ...
- vue2.0的初始化
vue2.0的初始化,使用 webpack构建工具生成的项目 直接上代码 main.js文件 // The Vue build version to load with the `import` co ...
- Python CGI编程
CGI(Common Gateway Interface)通用网关接口,它是一段程序,运行在服务器上.如:HTTP服务器,提供同客户端HTML页面的接口. CGI程序可以是python脚本,PERL脚 ...
- 微信小程序记账本进度四
//index.wxml <view class="container"> <form catchsubmit="formSubmit" &g ...
- JVM学习03:性能监控工具
JVM学习03:性能监控工具 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. 性能监控工具知识要点Xmind梳理 案例分析 案例分析1-JPS 案例分 ...