空間站

          北極心空

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

          公告

          本博客主要是在本人收集網(wǎng)上一些精彩技術(shù)文章,有時(shí)可能因疏忽轉(zhuǎn)載的時(shí)候沒有說(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ì)覺得用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,如果沒有就上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是亂寫的,比如maven官網(wǎng)的速度實(shí)在太差,還經(jīng)常抽筋死掉,比如有一些想要的新版官網(wǎng)上沒有。

              3. 自建私服
           
               自己建個(gè)私服是不錯(cuò)的主意。其實(shí)也簡(jiǎn)單,隨便拿臺(tái)http服務(wù)器,把${user.home}/.m2/ 目錄傳上去就行了
               在pom文件中,把私服的http url寫在官網(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)沒有的新版,按目錄路徑傳一個(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
          主站蜘蛛池模板: 富民县| 鹤山市| 鄢陵县| 安顺市| 临朐县| 谢通门县| 南汇区| 保靖县| 徐水县| 政和县| 郓城县| 桑日县| 贵德县| 普兰县| 黔南| 乃东县| 略阳县| 绿春县| 南召县| 肇源县| 伊通| 平远县| 贵溪市| 房产| 昭平县| 盘山县| 库车县| 桐柏县| 山阳县| 勃利县| 新余市| 浪卡子县| 讷河市| 邛崃市| 乌海市| 潜山县| 遂平县| 寻乌县| 德安县| 广饶县| 郁南县|