使用Ivy管理項目中的依賴


Ivy是什么

Ivy是一個跟蹤管理項目直接以來關系的工具。Ivy具有良好的靈活性和可配置性,使其可以適應各種不同的依賴管理和構建過程要求;雖然Ivy作為依賴管理工具,其可以與Apache Ant進行緊密集成,在依賴管理中充分利用Ant提供的強大的任務功能。Ivy是一個開源項目,它提供了很多強大的功能,但是最受歡迎和最有用的特性是它的靈活性、與ant集成、傳遞依賴管理。

下面我們通過一個簡單的例子看一下Ivy怎么管理依賴的。

Ivy.xml

<ivy-module version="2.0">
    <info organisation="wufengtinghai" module="wufengtinghai.alm"/>
    <dependencies>
        <dependency org="org.apache.commons" name="commons-collections4" rev="4.0"/>
    </dependencies>
</ivy-module>

首先Ivy-module元素中的version定義了此文件使用的ivy的版本。在info元素中你可以定義自己的組織信息和模塊的名稱;dependency元素定義具體的依賴信息,我們使用org、name和rev來唯一標識依賴項。其中org是組織信息,name是模塊名稱,rev是模塊的版本。那在實際的開發中我們需要的特定依賴怎么在此文件中定義呢?Ivy默認使用maven2組件倉庫,所以我們可以去mvnrepositoy.com找到我們需要的模塊信息,具體的信息如下

我們可以看到圖中有各種依賴管理工具定義依賴的xml。

Build.xml

Ivy與ant集成是通過在ant的構建文件里定義ivy任務實現調用ivy的功能,從而實現依賴管理的。構建文件的內容如下

<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     2015年6月6日 下午3:09:34                                                        

     ivy    
     description
                   
     hou                                                                
     ====================================================================== -->
<project name="ivyWithDefaultSettingBuild" default="default"  xmlns:ivy="antlib:org.apache.ivy.ant">
    <description>
            使用ivy的基本配置
    </description>
    <property name="libdir" value="../lib"></property>

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="default"  description="description">    
        <ivy:retrieve  />
    </target>

    <target name="clearIvyCache"  description="description">    
            <ivy:cleancache/>
        </target>

</project>

我們可以看到只需要在構建文件中引入ivy的命名空間即可,然后就可以聲明ivy任務實現依賴的管理。在這里retrieve任務會使用默認的配置管理ivy.xml中定義的依賴。

通過ant命令執行

 

在eclipse里通過ant執行

 

在eclipse里通過ivyIDE執行

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM