当前位置: 首页> 新闻> 焦点 > 软件开发工具也叫什么工具_广州冼村为什么有钱_武汉百度开户代理_数字营销成功案例

软件开发工具也叫什么工具_广州冼村为什么有钱_武汉百度开户代理_数字营销成功案例

时间:2025/7/8 21:16:12来源:https://blog.csdn.net/weixin_39789340/article/details/144175952 浏览次数:0次
软件开发工具也叫什么工具_广州冼村为什么有钱_武汉百度开户代理_数字营销成功案例

本文详细介绍maven常用知识:仓库。接上一篇,maven常用知识详解1:坐标和依赖

Maven仓库

 仓库分类

仓库分为两类:本地仓库、远程仓库(私服也是一种特殊的远程仓库)。

Maven根据坐标寻找构建时,首先查看本地仓库,本地有则直接使用;如果没有会去远程仓库查找,找到后下载本地使用。如果本地和远程都没有,则会报错。

1.本地仓库
编辑文件~/.m2/settings.xml(默认情况该文件不存在,需从安装目录$M2_HOME/conf/settings.xml复制编辑,推荐使用修改此用户配置,不建议修改全局目录),设置localRepository元素

<localRepository>D: \repository\maven
</localRepository>

构件只有在本地仓储存在才可以供Maven项目使用,常见构件存入本地仓库的方法:
a.依赖Maven从远程仓库下载
b.将本地项目安装到Maven仓库
c.将本地项目构建安装进Maven仓库。在项目中执行mvn clean install,当出现BUILD SUCCESSFUL即构建成功。

2.远程仓库

a.中央仓库(Maven核心自带的特殊远程仓库,默认配置下本地仓库没有则尝试从中央仓库下载)
b.私服(特殊的远程仓库)
架设在局域网内部的仓库服务器,代理广域网上的远程仓库,供局域网内的Maven用户使用。
使用私服的好处:

  1. 节省自己的外网宽带和时间
  2. 加速Maven构建
  3. 部署第三方构建
  4. 提高稳定性,增强控制
  5. 降低中央仓库的负荷
    常见私服Sonatype Nexus搭建,参考:
    https://www.cnblogs.com/bingyeh/p/5913486.html
    c.其它公共库
    常见的远程仓库:
    Java.net Maven库:http://download.java.net/maven/2/
    Jboss Maven库:http://repository.jboss.com/maven2/

 远程仓库的pom配置

当默认的中央仓库无法满足项目需求时,可在pom文件中配置另外的远程仓库:

<project>
……<repositories><repository><id>cloudhopper</id><name>Repository for Cloudhopper</name><url>http://maven.cloudhopper.com/repos/third-party/</url><releases>     <enabled>true</enabled>     </releases>     <snapshots>     <enabled>false</enabled>     </snapshots><layout>default<layout></repository></repositories>
</ project >

在repositories元素下可以使用repository子元素声明一个或多个远程仓库。 releases用来控制maven对于发布版构件的下载,enabled 属性值为true表示开启本仓库发布版本下载;snapshots用来控制maven对于快照版构件下载,enabled属性值为false表示关闭快照版本下载.

layout元素值default表示仓库的布局是Maven2及Maven3的默认布局,而不是Maven1布局。

*对于元素releases和snapshots来说,除了enabled外还包括另外两个子元素updatePolicy和checksumPolicy:
updatePolicy:用来配置Maven从远程仓库检查更新的频率,默认是daily,表示Maven每天检查一次。其他值,never-从不检查更新;always-每天构建都检查更新;interval:x-每隔x分钟检查更新一次(x为任意整数)。
checksumPolicy:用来检查检验和文件的策略。当构件被部署到Maven仓库时,会同时部署对应的校验和文件。下载构件时,Maven会验证校验和文件。如果校验和验证失败,当checksumPolicy的值为默认warn时,Maven会在构建时输出警告信息;为fail时,就让构建失败;为ignore时,使Maven完全忽略校验和错误。

 远程仓库的认证

对于需要提供认证信息才可以访问的远程仓库,应当在settings.xml文件中添加认证信息:

<settings>
……<servers><server><id>my-proj</id><username>username</username><password>pwd</password></server></servers>
</settings>

这里的关键元素是id,setting.xml中server元素的id必须与POM中需要认证的repository元素的id完全一致。

 部署构件至远程仓库

<project>
……<distributionManagement><repository><id>proj-releases</id><name>proj release repository </name><url>http://192.168.0.1/content/ proj-releases </url></repository><snapshotRepository >     <id>proj-snapshots</id><name>proj snapshots repository</name><url>http://192.168.0.1/content/ proj- snapshots</url></snapshotRepository ></distributionManagement >
</project >

:distributionManagement元素下的两个子元素,repository表示发布版本构件的仓库,snapshotRepository表示快照版本的仓库。

配置正确后,在命令行运行mvn clean deplay,将项目构建输出的构件部署到配置对应的远程仓库。

项目中快照版本的使用,只应该在组织内部的项目或模块间依赖使用,而不应该依赖于任何组织外部的快照版本,因为快照版本的不稳定性,容易造成潜在的危险。因此,当项目经过完善的测试需要发布时,就应该将快照版本更改为发布版本。

 镜像

如果仓库X可以提供仓库Y存储的所有内容,则可以认为X是Y的镜像
例:http://uk.maven.org/maven2是中央仓库http://repol.maven.org/maven2在中国的镜像,该镜像可以提供比中央仓库更快的服务。

配置方式(在settings.xml中添加配置):

<settings>……<mirrors><mirror><id>UK</id><name>UK Central</name><url>http://uk.maven.org/maven2</url><mirrorOf>central</mirrorOf>	</mirror> </mirrors>
</settings>

mirrorOf的属性值:
central表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像。
* 匹配所有远程仓库
external:* 匹配所有不在本机上的远程仓库
repo1,repo2 匹配多个远程仓库,用‘,’分割
*,!repo1 匹配所有除repo1外的远程仓库
:mirrorOf的属性值是central,表示该仓库是中央仓库的镜像。如果该镜像仓库需要认证,只需要配置一个和id属性值对应的即可。因为镜像仓库完全屏蔽被镜像仓库,当镜像仓库不稳定时,maven将无法下载构件。

☆点击:精彩内容,了解更多

关键字:软件开发工具也叫什么工具_广州冼村为什么有钱_武汉百度开户代理_数字营销成功案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: