首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

从Maven中央库创建自己本地镜像

2012-08-25 
从Maven中心库创建自己本地镜像1、从Maven中心库创建自己本地镜像?http://blog.csdn.net/teamlet/archive/2

从Maven中心库创建自己本地镜像

1、从Maven中心库创建自己本地镜像

?

http://blog.csdn.net/teamlet/archive/2007/04/22/1574642.aspx

?

2、建立Maven2的本地代码库服务器,也就是常说的“私服”

?

官方的maven repository服务器特别的慢,还记得上次海底电缆事故么?官方的服务器根本就无法访问,那段时间简直要抓狂。并且官方服务器类库版本通常不是最新,有时候想用最新版的还得自己动手。(下面会介绍如何自己动手做),所以建立一个自己的本地代码服务器对于整个团队就特别有意义。

?

Maven的服务器很简单,一个普通的http服务器就行,比如apache,装好apache以后。

?

将你本地代码库文件夹拷贝到apache安装目录下htpdocs/maven2,windows用户是C:\Documents and Settings\jeffrey\.m2\repository,linux下是 /home/Jeffrey/.m2/repository(注意.m2在linux下是隐藏文件夹)

?

启动apache服务器,在浏览器中输入http://localhost/maven2/repository,应该可以查看到repository的文件目录

?

编辑项目pom,指定本地的代码库服务器

?

在project中加入:

?

?

?

xml 代码

<repositories> ?

??<repository> ?

?? ?<id>mylibs<!--</span-->id> ?

?? ?<url>http://localhost/maven2/repository<!--</span-->url> ?

??<!--</span-->repository> ?

<!--</span-->repositories> ?

?

?

可以加入多个repository,mvn会按照顺序检索,如果都没有找到,最后会去找官方的服务器

?

3. 添加新的类库到本地代码服务器中

?

在maven官网有很多类库都找不到,只能自己动手,丰衣足食。

?

请先确认官网确实没有的情况下再自己做,毕竟还是挺麻烦的

?

可在以下两个网站查阅:http://mvnrepository.com/,http://repo1.maven.org/maven2/

?

前面已经说明了maven代码库的文件目录组织方式,同一个jar对于每个版本都有一个独立的文件夹来存放,除了jar还要有该jar的描述文件.pom,以及他们的校验文件.sh1

?

.pom文件里定义了该jar的名称、版本以及该jar所依赖到的其他jar(这也就是为什么引入一个jar却带出一大堆的jar来)

?

最简单的pom如下:

?

?

?

为jar和pom生成校验文件

?

可以通过一个ant任务来做:

?

xml 代码

<!--Generate checksum file for jar and pom --> ?

<target name="checksum" description="Generate checksum file for jar and pom"> ?

?? ? ? <checksum algorithm="SHA" fileext=".sha1"> ?

?? ? ? ? ? <fileset dir="d:/javalib" id="id"> <!--—-jar和pom所在目录 --> ?

?? ? ? ? ? ? ?<include name="**/*.pom" /> ?

?? ? ? ? ? ? ?<include name="**/*.jar" /> ?

?? ? ? ? ? ? ?<include name="**/*.xml" /> ?

?? ? ? ? ? ? ?<exclude name="**/*.sh1" /> ?

?? ? ? ? ? <!--</span-->fileset> ?

?? ? ? <!--</span-->checksum> ?

<!--</span-->target> ?

?

?

把生成好的sh1文件和jar、pom按照前面介绍的结构布局拷贝到apache的代码库中,当然你也可以直接拷到本地代码库中。

?

xml 代码

xml version="1.0" encoding="UTF-8"?> ?

<project> ?

?? ?<modelVersion>4.0.0<!--</span-->modelVersion> ?

?? ?<groupId>net.jeffrey<!--</span-->groupId> ?

?? ?<artifactId>xxx<!--</span-->artifactId> ?

?? ?<version>1.0<!--</span-->version> ?

?? ?<dependencies> ?

?? ?<!--</span-->dependencies> ?

<!--</span-->project> ?

热点排行