空間站

          北極心空

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

          公告

          本博客主要是在本人收集網(wǎng)上一些精彩技術(shù)文章,有時(shí)可能因疏忽轉(zhuǎn)載的時(shí)候沒(méi)有說(shuō)明轉(zhuǎn)載出處和作者,如果您認(rèn)為哪篇文章侵犯了你的版權(quán),請(qǐng)通知本人: EMAIL:luwei-80@163.com 歡迎您光臨本博客!

          常用鏈接

          留言簿(15)

          我參與的團(tuán)隊(duì)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          作者:江南白衣 

              看著log4j-2.13.jar被每個(gè)項(xiàng)目每個(gè)版本里一次又一次無(wú)限下載,你就會(huì)覺(jué)得用Maven2 管理Library實(shí)在很環(huán)保。

               而且,Java的類庫(kù)也急需擺脫這種無(wú)身份無(wú)地位一個(gè)jar包隨處擺放的境況。Maven給Jar以名份是一個(gè)好方向。

               其實(shí)Ruby和php都已有了這樣的管理工具和官方網(wǎng)站,所有的Ruby包在機(jī)器上都像rpm那樣是installed的。Maven既然代表了Java,但愿也能好好發(fā)展。

               完全使用Maven來(lái)做全部事情有點(diǎn)超前,因此我也只是是用它的library管理功能,真正用的深入的是pesome郁也風(fēng)。

             1.  查找Jar包在官網(wǎng)的路徑

              http://www.mavenregistry.com/  ,太實(shí)用了。

             2. 用Ant  調(diào)Maven管理 JAR
              
             SpringSide使用maven2的ant task,不需要用戶裝maven,直接用ant腳本來(lái)下載依賴包并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,如果沒(méi)有就上http://repo1.maven.org/maven2 把jar下載到${user.home}/.m2/目錄。并把所有jar定義成ant的fileset對(duì)象--maven.fileset。

               第3句把maven.fileset定義的,放在${user.home}/.m2/里的jar 拷貝到項(xiàng)目lib目錄。

            
              不過(guò),相對(duì)來(lái)講Maven2還很不成熟,比如很多項(xiàng)目的pom是亂寫(xiě)的,比如maven官網(wǎng)的速度實(shí)在太差,還經(jīng)常抽筋死掉,比如有一些想要的新版官網(wǎng)上沒(méi)有。

              3. 自建私服
           
               自己建個(gè)私服是不錯(cuò)的主意。其實(shí)也簡(jiǎn)單,隨便拿臺(tái)http服務(wù)器,把${user.home}/.m2/ 目錄傳上去就行了
               在pom文件中,把私服的http url寫(xiě)在官網(wǎng)的前面。   

           <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包

              對(duì)于官網(wǎng)沒(méi)有的新版,按目錄路徑傳一個(gè)jar包,加一個(gè)最簡(jiǎn)單的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>



          相關(guān)文章:
          UTF-8、Subversion、Maven2--2007年的項(xiàng)目特征

          posted on 2007-04-18 14:44 蘆葦 閱讀(251) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 建德市| 乌拉特中旗| 北海市| 墨脱县| 登封市| 友谊县| 醴陵市| 阳原县| 宽城| 黄山市| 望江县| 新田县| 陵水| 衡水市| 深圳市| 新营市| 阿拉善右旗| 聊城市| 库尔勒市| 吐鲁番市| 通河县| 漳浦县| 十堰市| 云梦县| 奉化市| 措勤县| 汕尾市| 河间市| 任丘市| 长垣县| 万源市| 文成县| 阿尔山市| 华蓥市| 科技| 皮山县| 文登市| 普兰县| 焉耆| 白城市| 莱芜市|