做环保主义者,用Maven2 管理Java类库

看着log4j-2.13.jar被每个项目每个版本里一次又一次无限下载,你就会觉得用Maven2 管理Library实在很环保。

     而且,Java的类库也急需摆脱这种无身份无地位一个jar包随处摆放的境况。Maven给Jar以名份是一个好方向。

     其实Ruby和php都已有了这样的管理工具和官方网站,所有的Ruby包在机器上都像rpm那样是installed的。Maven既然代表了Java,但愿也能好好发展。

     完全使用Maven来做全部事情有点超前,因此我也只是是用它的library管理功能,真正用的深入的是pesome郁也风。

   1.  查找Jar包在官网的路径

    http://www.mavenregistry.com/  ,太实用了。

   2. 用Ant  调Maven管理 JAR
    
   SpringSide使用maven2的ant task,不需要用户装maven,直接用ant脚本来下载依赖包并copy到$springside_home/lib。脚本如下:

  < typedef  resource ="org/apache/maven/artifact/ant/antlib.xml"  uri ="urn:maven-artifact-ant" >     
     
< classpath >
              < pathelement  location ="lib/maven-artifact-ant-2.0.2-dep.jar" />
       </ classpath >
  </ typedef >
  < artifact:dependencies  pathId ="maven.classpath"  filesetId ="maven.fileset" >
         < artifact:pom  file ="pom.xml" />  
 
</ artifact:dependencies >

  < copy  todir ="lib/" >
         < fileset  refid ="maven.fileset" />
         < mapper  type ="flatten" />    
 
</ copy >

    第1句从maven-artifact-ant-2.0.2-dep.jar读antlib.xml,读出一堆maven的task。

    第2句分析pom.xml里的jar,如果没有就上http://repo1.maven.org/maven2 把jar下载到${user.home}/.m2/目录。并把所有jar定义成ant的fileset对象--maven.fileset。

     第3句把maven.fileset定义的,放在${user.home}/.m2/里的jar 拷贝到项目lib目录。

  
    不过,相对来讲Maven2还很不成熟,比如很多项目的pom是乱写的,比如maven官网的速度实在太差,还经常抽筋死掉,比如有一些想要的新版官网上没有。

    3. 自建私服
 
     自己建个私服是不错的主意。其实也简单,随便拿台http服务器,把${user.home}/.m2/ 目录传上去就行了
     在pom文件中,把私服的http url写在官网的前面。   

  < repositories >
        
< repository >
            
< id > springside </ id >
      
       < url > http://www.springside.org.cn/maven2 </ url >
        
</ repository >
        
< repository >
            
< id > maven </ id >
            
< name > slowly office site </ name >
            
< url > http://repo1.maven.org/maven2 </ url >
        
</ repository >
    
</ repositories >


   4. 在私服加入自己的jar包

    对于官网没有的新版,按目录路径传一个jar包,加一个最简单的pom文件,并且为它们生成checksum文件,用ant的task就可以:

   < target  name ="checksum"  description ="为maven私服上的文件生成CHECKSUM" >
        
< checksum  file ="C:\checksum\spring-mock-2.0-m3.pom"  algorithm ="SHA"  fileext =".sha1" />
    
</ target >


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值