<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統(tǒng)計(jì)

    其他鏈接

    友情鏈接

    最新評論

    讓ivy支持maven的classifier屬性

        在maven中,對于一個(gè)依賴,除了groupId,artifactId,version這三個(gè)屬性來作為標(biāo)志之外,還有一個(gè)特殊的屬性可用: classifier。

        以下面的testng的為例:

    <dependency>
      
    <groupId>org.testng</groupId>
      
    <artifactId>testng</artifactId>
      
    <version>5.10</version>
      
    <classifier>jdk15</classifier>
    </dependency>

        ivy中依賴對應(yīng)的有屬性org,name,rev,分別對應(yīng)到maven中的groupId,artifactId,version.

        <dependency org="org.testng" name="testng" rev="5.10" />

        但是ivy中沒有和maven的classifier屬性相對應(yīng)的屬性,因此無法表示classifier。這樣就造成一些問題,比如上面的testng的例子,在ivy中如果將對testng的依賴定義寫成上面的樣子,則解析時(shí)是無法獲取到我們想到的依賴 testng-5.10.jar的,從而造成解析失敗:

    [ivy:resolve] :: problems summary ::
    [ivy:resolve] :::: WARNINGS
    [ivy:resolve]         [FAILED     ] org.testng#testng;5.10!testng.jar:  (0ms)
    [ivy:resolve]     ==== shared: tried
    [ivy:resolve]       G:\workspace\study\java\tools\ivy\skyMailDemo\skyMail\ivy\setup\DepositorySetup\userdir/shared/org.testng/testng/5.10/jars/testng.jar
    [ivy:resolve]     ==== public: tried
    [ivy:resolve]       http://192.168.0.30:8081/nexus/content/groups/public/org/testng/testng/5.10/testng-5.10.jar
    [ivy:resolve]         ::::::::::::::::::::::::::::::::::::::::::::::
    [ivy:resolve]         ::              FAILED DOWNLOADS            ::
    [ivy:resolve]         :: ^ see resolution messages for details  ^ ::
    [ivy:resolve]         ::::::::::::::::::::::::::::::::::::::::::::::
    [ivy:resolve]         :: org.testng#testng;5.10!testng.jar
    [ivy:resolve]         ::::::::::::::::::::::::::::::::::::::::::::::

        我們可以看一下maven倉庫中testng是如何保存的,首先看maven2的官方倉庫:

    http://repo1.maven.org/maven2/org/testng/testng/5.10/
    testng-5.10-jdk14.jar                              06-Aug-2009 18:22             1002817
    testng-5.10-jdk14.jar.md5                          06-Aug-2009 18:25                 128
    testng-5.10-jdk14.jar.sha1                         06-Aug-2009 18:25                 136
    testng-5.10-jdk15.jar                              06-Aug-2009 18:22              871404
    testng-5.10-jdk15.jar.md5                          06-Aug-2009 18:25                 128
    testng-5.10-jdk15.jar.sha1                         06-Aug-2009 18:25                 136
    testng-5.10-sources.jar                            06-Aug-2009 18:23              339279
    testng-5.10-sources.jar.md5                        06-Aug-2009 18:23                 130
    testng-5.10-sources.jar.sha1                       06-Aug-2009 18:23                 138
    testng-5.10.pom                                    06-Aug-2009 18:23                2115
    testng-5.10.pom.md5                                06-Aug-2009 18:23                 122
    testng-5.10.pom.sha1                               06-Aug-2009 18:23                 130

        然后再看一下ivy官方提供的maven2倉庫

    http://mirrors.ibiblio.org/pub/mirrors/maven2/org/testng/testng/5.10/
     testng-5.10-jdk14.jar                  06-Aug-2009 14:22  1.0M  
     testng-5.10-jdk14.jar.md5              06-Aug-2009 14:25  128   
     testng-5.10-jdk14.jar.sha1             06-Aug-2009 14:25  136   
     testng-5.10-jdk15.jar                  06-Aug-2009 14:22  851K  
     testng-5.10-jdk15.jar.md5              06-Aug-2009 14:25  128   
     testng-5.10-jdk15.jar.sha1             06-Aug-2009 14:25  136   
     testng-5.10-sources.jar                06-Aug-2009 14:23  331K  
     testng-5.10-sources.jar.md5            06-Aug-2009 14:23  130   
     testng-5.10-sources.jar.sha1           06-Aug-2009 14:23  138   
     testng-5.10.pom                        06-Aug-2009 14:23  2.1K  
     testng-5.10.pom.md5                    06-Aug-2009 14:23  122   
     testng-5.10.pom.sha1                   06-Aug-2009 14:23  130

        我們會(huì)發(fā)現(xiàn),根本不存在testng-5.10.jar 這樣的制品,而是有testng-5.10-jdk14.jar 和testng-5.10-jdk15.jar,即必須明確給出classifier屬性以確定制品名稱并下載。

        那么,在ivy中如何指定classifier屬性呢?

        首先檢查ivy的文檔,看在ivy.xml中的dependency 元素上是否有對應(yīng)的可用的屬性,結(jié)果發(fā)現(xiàn)沒有。隨即祭出google大法,終于在ivy官網(wǎng)的JIRA系統(tǒng)中找到了對這個(gè)問題的處理方式(請留意粗體加下劃線的內(nèi)容):

        1. 修改ivy.xml文件
            增加xmlns:m的namspace定義
    <ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">

            在需要制定classifier的依賴上使用屬性m:classifier
    <dependency org="org.testng" name="testng" rev="5.10" m:classifier="jdk15" />

        2. 修改ivysettings,在pattern中增加對classifier的支持
        <resolvers>
            
    <ibiblio name="public" m2compatible="true" root="http://192.168.0.30:8081/nexus/content/groups/public/" pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
        
    </resolvers>

       

    posted on 2009-10-15 01:56 sky ao 閱讀(2787) 評論(0)  編輯  收藏 所屬分類: project building

    主站蜘蛛池模板: 亚洲高清乱码午夜电影网| 国偷自产一区二区免费视频| 亚洲国产aⅴ综合网| a级毛片免费观看视频| 亚洲成年人电影网站| 四虎影视在线永久免费看黄| 永久免费无码网站在线观看个 | 亚洲一区免费在线观看| 免费国产美女爽到喷出水来视频| 香蕉免费一级视频在线观看| 亚洲av日韩av无码av| 国产亚洲日韩一区二区三区| 免费中文熟妇在线影片| aa在线免费观看| 亚洲日韩亚洲另类激情文学| 亚洲av无码专区在线播放| 情侣视频精品免费的国产| 99久久精品国产免费| 四虎影视在线看免费观看| 亚洲一级毛片在线播放| 国产亚洲精午夜久久久久久| 成人性生活免费视频| 久久久久久成人毛片免费看| 成人嫩草影院免费观看| 国产成人亚洲综合网站不卡| 亚洲av日韩av激情亚洲| 亚洲AV蜜桃永久无码精品| 日韩欧美一区二区三区免费观看| 99re8这里有精品热视频免费| 亚洲av无码偷拍在线观看| 亚洲国产美女视频| 久久精品国产亚洲AV麻豆王友容 | a毛片久久免费观看| 亚洲精品天堂成人片AV在线播放| 亚洲国产高清在线| 一本色道久久综合亚洲精品高清| 日本一道一区二区免费看 | 亚洲午夜无码毛片av久久京东热| 亚洲综合一区二区国产精品| 狠狠综合久久综合88亚洲| 国产做床爱无遮挡免费视频|