Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          ivy教程(10)-架設倉庫(2)-基礎倉庫復制


              在這個步驟中我們使用install任務來從maven2 倉庫安裝模塊到一個基于文件系統的倉庫。我們首先安裝一個不帶依賴的模塊,然后安裝一個帶有依賴的模塊。

              1) 基礎: 使用ivysettings.xml文件

              這里我們使用的ivy設置文件非常簡單。它定義兩個解析器,libraries 和 my-repository. 第一個作為源使用,第二個作為目的地。在典型的安裝中第二個倉庫將使用包含設置來配置,被這個開發團隊使用。

          <ivysettings>
              
          <settings    defaultCache="${ivy.cache.dir}/no-namespace"   
                      defaultResolver
          ="libraries"
                      defaultConflictManager
          ="all" />        <!-- in order to get all revisions without any eviction -->
              
          <resolvers>
                  
          <ibiblio name="libraries" m2compatible="true" />
                    
          <filesystem name="my-repository">
                        
          <ivy pattern="${dest.repo.dir}/no-namespace/[organisation]/[module]/ivys/ivy-[revision].xml"/>
                        
          <artifact pattern="${dest.repo.dir}/no-namespace/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
                    
          </filesystem>
              
          </resolvers>
          </ivysettings>

              2) 安裝不帶依賴的簡單模塊

              讓我們看一下maven2 target

              <target name="maven2" depends="init-ivy"
                  description
          ="--> install module from maven 2 repository">
                  
          <ivy:install settingsRef="basic.settings"
                      organisation
          ="commons-lang" module="commons-lang" revision="1.0"
                      from
          ="${from.resolver}" to="${to.resolver}" />
              
          </target>

              很簡單,我們使用和以往一樣用ivy:settings裝載的設置來調用[ant:install] 任務,我們通過使用屬性提供fromResolver (源) 和 toResolver (目的) 來簡化腳本的維護。我們的解析器主要是:'libraries' 作為源而'my-repository'作為目的地.

              這是ant調用的輸出:

          Z:\>ant maven2
          Buildfile: build.xml

          load-ivy:

          init-ivy:

          maven2:
          [ivy:install] :: loading settings :: url = jar:file://home/xavier/.ivy2/jars/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
          [ivy:install] :: Ivy 2.0.0-beta1-local-20071130005044 - 20071130005044 :: http://ant.apache.org/ivy/ ::
          :: loading settings :: file = /home/xavier/ivy/settings/ivysettings-advanced.xml
          [ivy:install] :: installing commons-lang#commons-lang;1.0 ::
          [ivy:install] :: resolving dependencies ::
          [ivy:install]   found commons-lang#commons-lang;1.0 in libraries
          [ivy:install] :: downloading artifacts to cache ::
          [ivy:install] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/1.0/commons-lang-1.0.jar ...
          [ivy:install] ............... (62kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] commons-lang#commons-lang;1.0/commons-lang.jar[jar] (2464ms)
          [ivy:install] :: installing in my-repository ::
          [ivy:install]   published commons-lang to /home/xavier/ivy/myrepository/no-namespace/commons-lang/commons-lang/jars/commons-lang-1.0.jar
          [ivy:install]   published ivy to /home/xavier/ivy/myrepository/no-namespace/commons-lang/commons-lang/ivys/ivy-1.0.xml
          [ivy:install] :: install resolution report ::
                  ---------------------------------------------------------------------
                  |                  |            modules            ||   artifacts   |
                  |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
                  ---------------------------------------------------------------------
                  |      default     |   1   |   1   |   0   |   0   ||   1   |   1   |
                  ---------------------------------------------------------------------

          BUILD SUCCESSFUL

              這些日志告訴我們使用"libraries"解析器找到了模塊定義,而對應的制品從maven2 倉庫下載完成。然后都被發布到文件系統倉庫(my-repository)。

              讓我們看一下我們的倉庫:

          Z:\>dir /s /B /A:-D myrepository
          Z:\myrepository\no-namespace\commons-lang\commons-lang\ivys\ivy-1.0.xml
          Z:\myrepository\no-namespace\commons-lang\commons-lang\ivys\ivy-1.0.xml.md5
          Z:\myrepository\no-namespace\commons-lang\commons-lang\ivys\ivy-1.0.xml.sha1
          Z:\myrepository\no-namespace\commons-lang\commons-lang\jars\commons-lang-1.0.jar
          Z:\myrepository\no-namespace\commons-lang\commons-lang\jars\commons-lang-1.0.jar.md5
          Z:\myrepository\no-namespace\commons-lang\commons-lang\jars\commons-lang-1.0.jar.sha1

              我們可以看到,現在我們的倉庫中有commons-lang模塊的版本1.0,調用一個生成的ivy.xml文件,它的jar,和所有md5和sha1檢驗和,為將來開發人員使用這個倉庫來解析模塊進行一致性檢查而準備。

              3) 安裝帶有依賴的模塊

              現在我們可以說,我們想確認在安裝后我們安裝的模塊的所有的依賴在我們的倉庫中都是可用的。我們可以或者在一個staging(臨時?分段?)倉庫上不帶依賴的安裝(更多控制),或者使用遞推依賴管理并要求ivy為我們安裝所有東西(簡單很多)。

              調用的target和上面描述的非常相像,除了我們顯式的要求遞推安裝。

              <target name="maven2-deps" depends="init-ivy"
                  description
          ="--> install module from maven 2 repository with dependencies">
                  
          <ivy:install settingsRef="basic.settings"
                      organisation
          ="org.hibernate" module="hibernate" revision="3.2.5.ga"
                      from
          ="${from.resolver}" to="${to.resolver}" transitive="true" />
              
          </target>

              如果你調用這個target,你將看到不僅安裝hibernate 模塊而且也包括它的依賴:

          Z:\>ant maven2-deps
          Buildfile: build.xml

          load-ivy:

          init-ivy:

          maven2-deps:
          [ivy:install] :: loading settings :: url = jar:file://home/xavier/.ivy2/jars/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
          [ivy:install] :: Ivy 2.0.0-beta1-local-20071130005044 - 20071130005044 :: http://ant.apache.org/ivy/ ::
          :: loading settings :: file = /home/xavier/ivy/settings/ivysettings-advanced.xml
          [ivy:install] :: installing org.hibernate#hibernate;3.2.5.ga ::
          [ivy:install] :: resolving dependencies ::
          [ivy:install]   found org.hibernate#hibernate;3.2.5.ga in libraries
          [ivy:install]   found net.sf.ehcache#ehcache;1.2.3 in libraries
          [ivy:install]   found commons-logging#commons-logging;1.0.4 in libraries
          [ivy:install]   found commons-collections#commons-collections;2.1 in libraries
          [ivy:install]   found javax.transaction#jta;1.0.1B in libraries
          [ivy:install]   found asm#asm-attrs;1.5.3 in libraries
          [ivy:install]   found dom4j#dom4j;1.6.1 in libraries
          [ivy:install]   found antlr#antlr;2.7.6 in libraries
          [ivy:install]   found cglib#cglib;2.1_3 in libraries
          [ivy:install]   found asm#asm;1.5.3 in libraries
          [ivy:install]   found commons-collections#commons-collections;2.1.1 in libraries
          [ivy:install]   found ant#ant;1.6.5 in libraries
          [ivy:install]   found swarmcache#swarmcache;1.0RC2 in libraries
          [ivy:install]   found commons-logging#commons-logging;1.0.2 in libraries
          [ivy:install]   found jgroups#jgroups-all;2.2.8 in libraries
          [ivy:install]   found jboss#jboss-cache;1.2.2 in libraries
          [ivy:install]   found jboss#jboss-system;4.0.2 in libraries
          [ivy:install]   found jboss#jboss-common;4.0.2 in libraries
          [ivy:install]   found slide#webdavlib;2.0 in libraries
          [ivy:install]   found xerces#xercesImpl;2.6.2 in libraries
          [ivy:install]   found jboss#jboss-minimal;4.0.2 in libraries
          [ivy:install]   found jboss#jboss-j2se;200504122039 in libraries
          [ivy:install]   found concurrent#concurrent;1.3.4 in libraries
          [ivy:install]   found jgroups#jgroups-all;2.2.7 in libraries
          [ivy:install]   found c3p0#c3p0;0.9.1 in libraries
          [ivy:install]   found javax.security#jacc;1.0 in libraries
          [ivy:install]   found opensymphony#oscache;2.1 in libraries
          [ivy:install]   found proxool#proxool;0.8.3 in libraries
          [ivy:install] :: downloading artifacts to cache ::
          [ivy:install] downloading http://repo1.maven.org/maven2/org/hibernate/hibernate/3.2.5.ga/hibernate-3.2.5.ga.jar ...
          [ivy:install]
          ................................................
          [ivy:install]
          ........................  (2202kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] org.hibernate#hibernate;3.2.5.ga/hibernate.jar[jar] (31105ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar
          ...
          [ivy:install] ........................ 
          [ivy:install]
          ........................  (203kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] net.sf.ehcache#ehcache;1.2.3/ehcache.jar[jar] (3223ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
          ...
          [ivy:install] ........................  (37kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] commons-logging#commons-logging;1.0.4/commons-logging.jar[jar] (1176ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar
          ...
          [ivy:install] ..... (16kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] asm#asm-attrs;1.5.3/asm-attrs.jar[jar] (872ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
          ...
          [ivy:install] ................................................
          [ivy:install] .. (306kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] dom4j#dom4j;1.6.1/dom4j.jar[jar] (3895ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/antlr/antlr/2.7.6/antlr-2.7.6.jar
          ...
          [ivy:install] ........................ 
          [ivy:install] ........................  (433kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] antlr#antlr;2.7.6/antlr.jar[jar] (6909ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/cglib/cglib/2.1_3/cglib-2.1_3.jar
          ...
          [ivy:install] ........................ 
          [ivy:install] ...  (275kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] cglib#cglib;2.1_3/cglib.jar[jar] (4062ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/asm/asm/1.5.3/asm-1.5.3.jar
          ...
          [ivy:install] ......  (25kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] asm#asm;1.5.3/asm.jar[jar] (980ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar
          ...
          [ivy:install] ........................ 
          [ivy:install]
          ........................   (171kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] commons-collections#commons-collections;2.1.1/commons-collections.jar[jar] (3476ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.jar
          ...
          [ivy:install] ........................ 
          [ivy:install]
          ........................   (161kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] commons-collections#commons-collections;2.1/commons-collections.jar[jar] (3931ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.jar
          ...
          [ivy:install] ........................ 
          [ivy:install]
          ........................   (1009kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] ant#ant;1.6.5/ant.jar[jar] (20564ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/swarmcache/swarmcache/1.0RC2/swarmcache-1.0RC2.jar
          ...
          [ivy:install] ........................  (29kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] swarmcache#swarmcache;1.0RC2/swarmcache.jar[jar] (1985ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jboss/jboss-cache/1.2.2/jboss-cache-1.2.2.jar
          ...
          [ivy:install] ........................ 
          [ivy:install] .. (365kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jboss#jboss-cache;1.2.2/jboss-cache.jar[jar] (6026ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jgroups/jgroups-all/2.2.8/jgroups-all-2.2.8.jar
          ...
          [ivy:install] ........................ 
          [ivy:install]
          ........................   (1573kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jgroups#jgroups-all;2.2.8/jgroups-all.jar[jar] (17176ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar
          ...
          [ivy:install] ................................................
          [ivy:install]
          ................................................  (594kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] c3p0#c3p0;0.9.1/c3p0.jar[jar] (4332ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/opensymphony/oscache/2.1/oscache-2.1.jar
          ...
          [ivy:install] ................................................  (111kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] opensymphony#oscache;2.1/oscache.jar[jar] (1676ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/proxool/proxool/0.8.3/proxool-0.8.3.jar
          ...
          [ivy:install] ................................................
          [ivy:install]
          ................................................  (464kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] proxool#proxool;0.8.3/proxool.jar[jar] (3476ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.2/commons-logging-1.0.2.jar
          ...
          [ivy:install] ........................  (25kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] commons-logging#commons-logging;1.0.2/commons-logging.jar[jar] (794ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jboss/jboss-system/4.0.2/jboss-system-4.0.2.jar
          ...
          [ivy:install] ................................................  (227kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jboss#jboss-system;4.0.2/jboss-system.jar[jar] (1937ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jboss/jboss-common/4.0.2/jboss-common-4.0.2.jar
          ...
          [ivy:install] ................................................
          [ivy:install]
          ................................................  (457kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jboss#jboss-common;4.0.2/jboss-common.jar[jar] (3589ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jboss/jboss-minimal/4.0.2/jboss-minimal-4.0.2.jar
          ...
          [ivy:install] ................................................  (163kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jboss#jboss-minimal;4.0.2/jboss-minimal.jar[jar] (1838ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jboss/jboss-j2se/200504122039/jboss-j2se-200504122039.jar
          ...
          [ivy:install] ................................................
          [ivy:install] ........................   (350kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jboss#jboss-j2se;200504122039/jboss-j2se.jar[jar] (2806ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar
          ...
          [ivy:install] ................................................  (184kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] concurrent#concurrent;1.3.4/concurrent.jar[jar] (1748ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/jgroups/jgroups-all/2.2.7/jgroups-all-2.2.7.jar
          ...
          [ivy:install] ................................................
          [ivy:install]
          ................................................ (1613kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] jgroups#jgroups-all;2.2.7/jgroups-all.jar[jar] (10938ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/slide/webdavlib/2.0/webdavlib-2.0.jar
          ...
          [ivy:install] ................................................ (128kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] slide#webdavlib;2.0/webdavlib.jar[jar] (1526ms)
          [ivy:install] downloading http://repo1.maven.org/maven2/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar
          ...
          [ivy:install] ................................................
          [ivy:install]
          ........................  (986kB)
          [ivy:install] .. (0kB)
          [ivy:install]   [SUCCESSFUL ] xerces#xercesImpl;2.6.2/xercesImpl.jar[jar] (6906ms)
          [ivy:install] :: installing in my-repository ::
          [ivy:install]   published hibernate to myrepository/no-namespace/org.hibernate/hibernate/jars/hibernate-3.2.5.ga.jar
          [ivy:install]   published ivy to myrepository/no-namespace/org.hibernate/hibernate/ivys/ivy-3.2.5.ga.xml
          [ivy:install]   published ehcache to myrepository/no-namespace/net.sf.ehcache/ehcache/jars/ehcache-1.2.3.jar
          [ivy:install]   published ivy to myrepository/no-namespace/net.sf.ehcache/ehcache/ivys/ivy-1.2.3.xml
          [ivy:install] missing artifact javax.transaction#jta;1.0.1B/jta.jar[jar]:
          [ivy:install]   cache/no-namespace/javax.transaction/jta/jars/jta-1.0.1B.jar file does not exist
          [ivy:install]   published ivy to myrepository/no-namespace/javax.transaction/jta/ivys/ivy-1.0.1B.xml
          [ivy:install]   published commons-logging to myrepository/no-namespace/commons-logging/commons-logging/jars/commons-logging-1.0.4.jar
          [ivy:install]   published ivy to myrepository/no-namespace/commons-logging/commons-logging/ivys/ivy-1.0.4.xml
          [ivy:install]   published asm-attrs to myrepository/no-namespace/asm/asm-attrs/jars/asm-attrs-1.5.3.jar
          [ivy:install]   published ivy to myrepository/no-namespace/asm/asm-attrs/ivys/ivy-1.5.3.xml
          [ivy:install]   published dom4j to myrepository/no-namespace/dom4j/dom4j/jars/dom4j-1.6.1.jar
          [ivy:install]   published ivy to myrepository/no-namespace/dom4j/dom4j/ivys/ivy-1.6.1.xml
          [ivy:install]   published antlr to myrepository/no-namespace/antlr/antlr/jars/antlr-2.7.6.jar
          [ivy:install]   published ivy to myrepository/no-namespace/antlr/antlr/ivys/ivy-2.7.6.xml
          [ivy:install]   published cglib to myrepository/no-namespace/cglib/cglib/jars/cglib-2.1_3.jar
          [ivy:install]   published ivy to myrepository/no-namespace/cglib/cglib/ivys/ivy-2.1_3.xml
          [ivy:install]   published asm to myrepository/no-namespace/asm/asm/jars/asm-1.5.3.jar
          [ivy:install]   published ivy to myrepository/no-namespace/asm/asm/ivys/ivy-1.5.3.xml
          [ivy:install]   published commons-collections to myrepository/no-namespace/commons-collections/commons-collections/jars/commons-collections-2.1.1.jar
          [ivy:install]   published ivy to myrepository/no-namespace/commons-collections/commons-collections/ivys/ivy-2.1.1.xml
          [ivy:install]   published commons-collections to myrepository/no-namespace/commons-collections/commons-collections/jars/commons-collections-2.1.jar
          [ivy:install]   published ivy to myrepository/no-namespace/commons-collections/commons-collections/ivys/ivy-2.1.xml
          [ivy:install]   published ant to myrepository/no-namespace/ant/ant/jars/ant-1.6.5.jar
          [ivy:install]   published ivy to myrepository/no-namespace/ant/ant/ivys/ivy-1.6.5.xml
          [ivy:install]   published swarmcache to myrepository/no-namespace/swarmcache/swarmcache/jars/swarmcache-1.0RC2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/swarmcache/swarmcache/ivys/ivy-1.0RC2.xml
          [ivy:install]   published jboss-cache to myrepository/no-namespace/jboss/jboss-cache/jars/jboss-cache-1.2.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jboss/jboss-cache/ivys/ivy-1.2.2.xml
          [ivy:install]   published jgroups-all to myrepository/no-namespace/jgroups/jgroups-all/jars/jgroups-all-2.2.8.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jgroups/jgroups-all/ivys/ivy-2.2.8.xml
          [ivy:install]   published c3p0 to myrepository/no-namespace/c3p0/c3p0/jars/c3p0-0.9.1.jar
          [ivy:install]   published ivy to myrepository/no-namespace/c3p0/c3p0/ivys/ivy-0.9.1.xml
          [ivy:install] missing artifact javax.security#jacc;1.0/jacc.jar[jar]:
          [ivy:install]   cache/no-namespace/javax.security/jacc/jars/jacc-1.0.jar file does not exist
          [ivy:install]   published ivy to myrepository/no-namespace/javax.security/jacc/ivys/ivy-1.0.xml
          [ivy:install]   published oscache to myrepository/no-namespace/opensymphony/oscache/jars/oscache-2.1.jar
          [ivy:install]   published ivy to myrepository/no-namespace/opensymphony/oscache/ivys/ivy-2.1.xml
          [ivy:install]   published proxool to myrepository/no-namespace/proxool/proxool/jars/proxool-0.8.3.jar
          [ivy:install]   published ivy to myrepository/no-namespace/proxool/proxool/ivys/ivy-0.8.3.xml
          [ivy:install]   published commons-logging to myrepository/no-namespace/commons-logging/commons-logging/jars/commons-logging-1.0.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/commons-logging/commons-logging/ivys/ivy-1.0.2.xml
          [ivy:install]   published jboss-system to myrepository/no-namespace/jboss/jboss-system/jars/jboss-system-4.0.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jboss/jboss-system/ivys/ivy-4.0.2.xml
          [ivy:install]   published jboss-common to myrepository/no-namespace/jboss/jboss-common/jars/jboss-common-4.0.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jboss/jboss-common/ivys/ivy-4.0.2.xml
          [ivy:install]   published jboss-minimal to myrepository/no-namespace/jboss/jboss-minimal/jars/jboss-minimal-4.0.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jboss/jboss-minimal/ivys/ivy-4.0.2.xml
          [ivy:install]   published jboss-j2se to myrepository/no-namespace/jboss/jboss-j2se/jars/jboss-j2se-200504122039.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jboss/jboss-j2se/ivys/ivy-200504122039.xml
          [ivy:install]   published concurrent to myrepository/no-namespace/concurrent/concurrent/jars/concurrent-1.3.4.jar
          [ivy:install]   published ivy to myrepository/no-namespace/concurrent/concurrent/ivys/ivy-1.3.4.xml
          [ivy:install]   published jgroups-all to myrepository/no-namespace/jgroups/jgroups-all/jars/jgroups-all-2.2.7.jar
          [ivy:install]   published ivy to myrepository/no-namespace/jgroups/jgroups-all/ivys/ivy-2.2.7.xml
          [ivy:install]   published webdavlib to myrepository/no-namespace/slide/webdavlib/jars/webdavlib-2.0.jar
          [ivy:install]   published ivy to myrepository/no-namespace/slide/webdavlib/ivys/ivy-2.0.xml
          [ivy:install]   published xercesImpl to myrepository/no-namespace/xerces/xercesImpl/jars/xercesImpl-2.6.2.jar
          [ivy:install]   published ivy to myrepository/no-namespace/xerces/xercesImpl/ivys/ivy-2.6.2.xml
          [ivy:install] :: install resolution report ::
                  ---------------------------------------------------------------------
                  |                  |            modules            ||   artifacts   |
                  |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
                  ---------------------------------------------------------------------
                  |      default     |   28  |   28  |   0   |   0   ||   28  |   26  |
                  ---------------------------------------------------------------------

          BUILD FAILED
          build.xml:80: Problem happened while installing modules - see output for details

          Total time: 2 minutes 49 seconds

              如你所見,安裝失敗了。如果你查看日志,你將看到在源倉庫中缺少制品。這意味著你需要手工下載那些制品,然后復制他們到你的目標倉庫來完成安裝。幸運的是在安裝過程中ivy使用最努力的算法,因此除了缺少的制品外所有的東西都安裝好了。

              你可以也注意到ivy已經安裝了兩個不同修訂版本的commons-logging (1.0.2, 1.0.4).這歸結于我們在ivysettings文件中使用了"no conflict"沖突管理器。

              我們不想驅逐任何模塊,因為我們正在構建我們自己的倉庫。實際上如果我們同時獲取commons-logging 1.0.2 和 1.0.4,那是因為在hibernate的遞推依賴中有些模塊依賴1.0.2而其他的依賴1.0.4。如果我們只獲取1.0.4,依賴于1.0.2的模塊將在你自己的昂哭中變得不一致(依賴一個你沒有安裝的版本)。因此直接使用這個模塊的開發人員將遇到問題。

              如果你現在更緊密的觀察你的倉庫,你將可能發現它不是一個準確的源倉庫的復制品。讓我們看一下一個模塊的內容:

          Z:\>dir /s /B /A:-D myrepository\no-namespace\org.hibernate\hibernate\
          Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml
          Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml.md5
          Z:\myrepository\no-namespace\org.hibernate\hibernate\ivys\ivy-3.2.5.ga.xml.sha1
          Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar
          Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar.md5
          Z:\myrepository\no-namespace\org.hibernate\hibernate\jars\hibernate-3.2.5.ga.jar.sha1

              如你所見,這里沒有pom(pom是maven2使用的模塊metadata格式,在maven2倉庫中可用)。作為替換你可以看到ivy文件,實際上是原始hibernate pom轉化為ivy文件的。因此現在你有一個帶有ivy文件的真實的ivy倉庫,這里你可以使用ivy的完整能力,如果你想調整模塊metadata(模塊配置,細粒度的排除和遞推控制,每個模塊的沖突管理,...)。

              好,對于這個簡單倉庫的安裝就到這里了,下一個教程將展示如何處理更加復雜的情況,你的源和目的地倉庫不遵循同樣的命名轉換。


          posted on 2009-10-04 15:04 sky ao 閱讀(2541) 評論(1)  編輯  收藏 所屬分類: project building

          評論

          # re: ivy教程(10)-架設倉庫(2)-基礎倉庫復制 2009-10-04 16:05 喜樂遞

          看來有點幫助~謝謝樓主  回復  更多評論   

          主站蜘蛛池模板: 钟山县| 东兰县| 依兰县| 德州市| 上虞市| 托克逊县| 景泰县| 长武县| 淮北市| 阳山县| 屯留县| 新乡县| 大英县| 宣城市| 慈利县| 瑞昌市| 定襄县| 韩城市| 勐海县| 罗山县| 汤阴县| 大石桥市| 合肥市| 额敏县| 甘孜县| 黎川县| 扎鲁特旗| 闸北区| 文山县| 尤溪县| 易门县| 东台市| 阳朔县| 靖江市| 什邡市| 石阡县| 青海省| 托克托县| 五大连池市| 霍州市| 洪洞县|