zoukankan      html  css  js  c++  java
  • 使用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执行

  • 相关阅读:
    while 循环 。。
    数据运算,运算符
    字符串常用操作
    列表常用操作
    三级菜单
    杂七杂八
    简单的登陆程序001
    猜年龄游戏
    实现密文输入密码
    使用urllib2打开网页的三种方法
  • 原文地址:https://www.cnblogs.com/wufengtinghai/p/4559251.html
Copyright © 2011-2022 走看看