在Flex项目中使用Maven(三)之Maven仓库
在前面两篇文章中,我们介绍了什么是Maven,如何安装并且设置好Maven的运行环境。在这篇文章中,我们将介绍Maven仓库的概念。这里,这个仓库的概念非常重要,因为他是Maven组成的一个非常重要的部分。也是我们能够在Flex中使用Maven简化我们的日常操作的关键一步。
Maven仓库是为了解决依赖关系而设立的。Maven有3种级别的仓库
1,公共仓库
这个公共仓库是由Maven自己维护,里面有大量的公用类库,当然,目前是以java为主。如果你在使用BlazeDS,可以直接从Maven库获取依赖而不需要自己管理的哦。
2,私有共享库
这种仓库一般是由公司自己设立的,只为本公司内部共享使用。
其功能是
A,作为缓存服务器,缓存一些公共库中的类库。
比如,公司内员工A通过公司内部网络的私有仓库更新其一个项目的依赖关系,公司内部的私有仓库中没有这些库,于是这个私有仓库就连接到公共仓库去搜索,找到相应库后,返回给员工A,同时按照这个类库的标识和版本,将此库缓存在私有仓库中。当公司的员工B再用到相同的库时,公司的私有仓库就可以直接返回这个库给B,如果你的java库依赖有10多M,一般情况下,要下载一阵子,但是,在公司内部网络中通过私有仓库的缓存,则会大大缩短这个时间。
B,作为公司内部协作的交换以及存档仓库。
在公司内部不同部门之间要用到一些本公司开发的共享库时,一个负责发布这个共享库的部门可以将编译好的二进制代码发布到公司私有库中,其他部分则可以直接通过公司私有仓库来更新,免去了大家互相拷贝造成的麻烦,也避免了不同版本的库的兼容性问题,因为当你使用Maven的时候,他会严格区分不同版本的类库。
一般情况下,大家可以使用的搭建Maven私有仓库的服务器有:Nexus,以及artifactory。 他们功能类似,在大多数情况下,都可以胜任。 值得一提的是artifactory支持LDAP认证,这样你就可以把这个私有仓库的认证集成到你公司已经有的LDAP认证服务器上去。

在artifactory中,你还可以把几个不同的库整合成一个虚拟库,单独暴露一个路径,这样可以省去后面在Maven中添加多个库的地址的问题。
3,本地仓库
本地仓库则是顾名思义,他是你本地计算机上的仓库。 这个仓库的位置一般情况下都在:{usr_home}/.m2 下面。 在Windows XP下面一般是 c:/documents and settings/repository 你的用户名/.m2 , 在windows vista或者windows 7下面就是C:\Users\你的用户名\.m2\repository 下。使用Linux的话,则在/home/用户名/.m2/repository 下。 这个本地仓库的作用跟私有仓库很类似。 缓存功能可以让你方便共享已经下载过的类库,而不需要为每个项目都准备一份拷贝。
我们的Flex项目中使用Maven,最好利用一个私有仓库来管理那些远程依赖以及管理你自己的编译结果发布。 如果你自己没有条件建立一个公网的服务器,那么,你可以考虑在你自己的局域网中建立。建立这样一个私有服务器在我们的Flex项目开发中,益处多多。尤其是,如果你打算在另外一台机器上编译项目的时候,光实现FlexSDK 的依赖,就要下载不少东西。有了私有仓库,则可以很好的缓存这些类库。使得2次部署或者让你的开发同伴享受快速的安装过程。
本文系连载系列,如果你不了解Maven以及一些关于Maven的概念,请参考在Flex项目中使用Maven(一)之Maven简介 以及 在Flex项目中使用Maven(二)之Maven安装

.gif)
.gif)




.gif)
发表新评论