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 ...
随机推荐
- TabLayout占不满屏幕所有宽度
<android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_wi ...
- TOMCAT程序的层级目录
web | |---------js,jsp,html,css(资源文件在web根目录下面 可以被浏览器直接访问) |---------WEB-INF(配置文件web.xml lib---jar ...
- scrapy 之自定义命令运行所有爬虫文件
1.在spider文件夹同级目录创建commands python包 2.在包下创建command.py文件 3.从scrapy.commands包下引入ScrapyCommand 4.创建一个类,继 ...
- 【MYSQL】MYSQLの環境構築
ダウンロード:https://dev.mysql.com/downloads/mysql/ 手順① 手順② mysql.iniの設定について [mysql]default-character-set= ...
- 破损的键盘 (Broken Keyboard)--又名悲剧文本(线性表)
题目: 你有一个破损的键盘.键盘上的所有键都可以正常工作,但有时Home键或者End键会自 动按下.你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开.当你 打开显示器之后, 展现在 ...
- CV迅速发展
- SQL数据库索引理解与应用【转贴--收藏】
SQL数据库中索引分为聚集索引(CLUSTERED)和非聚集索引(NONCLUSTERED)两种. 聚集索引确定表中数据的物理顺序,它就类似与电话簿,按照姓氏排列数据.由于聚集索引规定数据表中的物理顺 ...
- requests+django+bs4实现一个web微信的功能
前言: 今天我们利用requests模块+django+bs4浏览器来实现一个web微信的基本功能,主要实现的功能如下 a.实现返回二维码 b.实现手机扫码后二维码变成变成头像 c.实现手机点击登陆成 ...
- Spring常用注解总结(1)
前言:项目中常用的注解常看常记,总会对自己有些好处,所以在这里分享一下. 使用spring时,可以使用xml配置文件配置相关信息.但是我还是喜欢用注解的方式,因为可以充分利用反射机制获取类结构信息,而 ...
- 基本HTML结构
配置:在vs code中声明页面为html,然后添加open in browser,view in browser插件通过快捷键alt+b实现在浏览器中查看编写好的html界面 基本成分: <! ...