Maven库房介绍-Java-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:157回复:0

  Maven库房介绍

楼主#
更多 发布于:2016-05-20 18:50

Maven库房介绍

原文地址 译者:刘小刘

库房介绍

库房

Maven中的库房用来寄存生成的构建和各种依靠。严格说来只要两种库房:本地和长途。本地库房指本机的一份复制,用来缓存长途下载、包含你没有发布的临时构件。

长途库房指经过各种协议如file://和http://拜访的其它类型的库房。这些库房也许是第三方建立的真实的长途库房,用来供给他们的构件下载(例如repo.maven.apache.org和uk.maven.org是Maven的中心库房)。其它“长途”库房也许是你的公司具有的建立在文件或HTTP效劳器上的内部库房,用来在开发团队间同享私有构件和办理发布。

本地和长途库房有着一样的构造,所以脚本能够很容易地在两头运转,或同步库房供离线运用。不过,一般情况下,库房内部的规划对Maven用户是彻底通明的。

为啥不把JAR存在CVS?

不引荐将jar存储到CVS。Maven强调用户本地库房的概念,在本地库房中jar或其它任何工程构件能够被存储和恣意构建运用。很多工程依靠一起的组件如XML解析器和规范实用工具等,典型的构建中这些会重复仿制,运用Maven这些规范组件能够在本机存储并被恣意构建同享运用。

这么做有以下优点:

更少的存储

当一个库房非常大的时分,因为每个JAR只存储一份它实践上节省了空间,虽然看起来不是这么。(译者注:库房一般很大很占空间,但存储一份JAR比较存储多份确实节省了空间)

检出工程更快

假如CVS中没有大的二进制文件,对工程的初度检出或细小更新会更快。虽然这些是不得不下载的,但只需求一次,假如某些常用的JAR包已存在就不需求再次下载。

不需求版别

CVS和其它源码控制体系为版别办理而规划,而外部依靠一般不会改动,或在改动时会一起改动文件名表明版别改变。在CVS中存储这些比起在本地存储并无额外的优点。

运用库房

一般来说,对本地库房啥都不用做,除非磁盘空间缺乏而删除它(或彻底清除以从头下载悉数)。

长途库房用来下载或上载(假如有权限)。

从长途库房下载

工程声明晰一个本地库房中没有的依靠时会触发下载(或许对SNAPSHOT,假如长途库房包含新版别时)。Maven默认从中心库房下载依靠。

要覆盖这一设置,你需求指定镜像,拜见Using Mirrors for

Repositories。

能够在settings.xml中设置大局镜像,但要留意在工程的pom.xml中指定库房也是普遍的,settings.xml的设置会优先收效。假如找不到依靠,查看是不是覆盖了长途库房。

更多对于依靠的信息,参阅Dependency Mechanism。

运用中心库房的镜像

官方库房有数个坐落不一样地理位置的散布。能够修正settings.xml运用一个或多个镜像。操作攻略拜见

Using Mirrors for Repositories。

离线构建

假如你暂时从互联网断开了,仍需求构建工程,能够在命令行中运用离线开关:

mvn -o package

很多插件会判别离线设置而不去衔接互联网,比方解析Javadoc衔接和网站的衔接查看。

上载到长途库房

也许一切的长途库房都请求必须有权限才干上载。若要上载到中心库房,参阅Repository

Center。

内部库房

运用Maven,尤其是在一家公司内,出于安全、速度或带宽的原因,衔接到互联网来下载依靠也许是不能接受的。此刻,建立一个内部库房来寄存构件的复制和发布私有构件是正确的。

从内部库房下载能够运用HTTP或文件体系(运用file://),上载能够运用scp,

ftp或文件复制。

留意只要是在Maven中,内部库房没有任何特别之处:它是另一种长途库房,包含可下载到用户本地存储的构件,一起是构件发布的目的地。

此外,你也许想将生成的工程站点同享到库房,更多创建和布置站点的信息,参阅Creating a

Site。

建立内部库房

建立内部库房只需求找一台效劳器寄存它,然后复制需求的构件,运用与长途库房如

repo.maven.apache.org相同的目录构造。

不引荐抓取或用rsync获取全部中心库房的完整复制,数据量太大,并且这么做会被禁。你能够运用

Repository Management 中介绍的程序来运转内部库房效劳,从互联网按需下载并保留构件来供给更快的内部下载。

另一种选择是手动下载和查看发布包,复制到内部库房,或经过Maven下载以后手动上载确认过的构件到用作发布的内部库房。这一操作对制止主动分发的构件是唯一可行的方法,如Sun供给的J2EE

jar包。查看 Guide to coping with SUN JARs了解更多。

值得一提的是,Maven将来计划包含对这些特性的增强支撑,包含下载时主动点击答应和签名验证。

运用内部库房

运用内部库房很简单,增加一个repositories元素:

<project>  ...  <repositories>  

 <repository>      <id>my-internal-site</id>    

 <url>http://myserver/repo</url>    </repository>

 </repositories>  ...</project>

假如你的内部库房需求认证,在settings文件中运用id元素指定登录信息。

布置到内部库房

运用内部库房的最重要原因之一是将自个的私有包发布出来同享。

要发布到库房,你需求经过SCP,SFTP,FTP,WebDAV或文件体系之一拜访库房。衔接经过各种wagons实现,有些wagon也许需求在构建中参加扩展。

[font=Tahoma  ][font=Tahoma  ]

优质IT资源分享社区为你提供此文。

本站有大量优质Java教程视频,资料等资源,包含java基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

java教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客