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执行

使用Ivy管理项目中的依赖的更多相关文章

  1. itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景       像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...

  2. 管理项目中的贴图-Texture overview插件

    Texture overview插件管理项目中的贴图 1. Assetstore地址 2. 总览项目中所有贴图 3. 针对不同平台的贴图压缩设置 在插件的右上角 4. 支持多选批量修改 5. 点击表头 ...

  3. 在 xunit 测试项目中使用依赖注入

    在 xunit 测试项目中使用依赖注入 Intro 之前写过几篇 xunit 依赖注入的文章,今天这篇文章将结合我在 .NET Conf 上的分享,更加系统的分享一下在测试中的应用案例. 之所以想分享 ...

  4. 用Apache Ivy实现项目里的依赖管理

    Apache Ivy是一个管理项目依赖的工具. 它与Maven  Apache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意.Maven 引入了 JAR 文件公共存储库的概念 ...

  5. 用Apache Ivy实现项目里的依赖管理 分类: C_OHTERS 2014-07-06 18:11 564人阅读 评论(0) 收藏

    Apache Ivy是一个管理项目依赖的工具. 它与Maven  Apache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意.Maven 引入了 JAR 文件公共存储库的概念 ...

  6. 查找IDEA 项目中的依赖包存放在.m2位置

    原因:在maven项目pom.xml中添加依赖,可能由于网络不好,下载不完全,导致再次下载一直报错. 就会导致出现依赖一直报错.

  7. 使用iconfont管理项目中的字体图标

    先来说说字体图标的好处: 很容易任意地缩放: 很容易地改变颜色: 很容易地产生阴影: 可以拥有透明效果: 一般来说,有先进的浏览器支持: 可以使用CSS来装饰(可以得到CSS很好支持): 可以快速转化 ...

  8. iOS之多控制器管理--项目中的常见文件

    项目中的常见文件 内容大纲: 1.LaunchScreen 2.info.plist文件 3.pch文件 1.LaunchScreen xcode5和xcode6区别 1.xcode6没有Framew ...

  9. spring JdbcTemplate 在itest 开源测试管理项目中的浅层(5个使用场景)封装

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景, 在做项目的时候,用的JPA ,有些复杂查询,比如报表用原生的JdbcTemplate ,很不方便;传参也不方便 ...

随机推荐

  1. 全栈开发必备的10款Sublime Text 插件

    Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...

  2. Ajax用法总结

    ajax:      AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.      AJAX ...

  3. #include <cstdio>

    #include <cstdio> using namespace std; int main() { int gx; gx=6; printf("%d\n",gx); ...

  4. windows7安装python2.7及scrapy

    http://www.cnblogs.com/txw1958/archive/2012/07/12/scrapy_installation_introduce.html 第0步:当然是安装python ...

  5. XAF学习笔记1

    写软件很多年了.看过的框架用过的框架非常多.一直想要一种框架,说不出的心烦重复的数据库设计,重复的Model生成,重复的界面设计 一直寻寻觅觅,终于找到一个框架,DEV的XAF,DEV控件用了N年了, ...

  6. c++内存分布

    http://www.oschina.net/translate/cpp-virtual-inheritance 编译器会加入一些代码, 指针的转换操作编译器会自动加偏移

  7. Oracle中执行存储过程call和exec区别

    Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...

  8. Excel中添加并使用宏实现批量更新数据

    一.状况描述    当我们需要后台更新大量数据的时候,可以使用该功能.二.解決方案    (1)新建一个Excel文件,并另存为启用宏的Excel工作簿,扩展名为.xlsm.    (2)在Excel ...

  9. IE8的兼容性问题

    IE的兼容性问题是前端开发人员的老大难问题,不过随着时代的发展,IE6逐渐的被淘汰,现在以及很少有网站兼容IE6了,一般都兼容到IE8,现在我总结了一些IE8的兼容性问题及解决方法. 1.使用meta ...

  10. python基础第四天(1)

    冒泡算法--算法 需求:请按照从小到大对列表 [13, 22, 6, 99, 11] 进行排序 思路:相邻两个值进行比较,将较大的值放在右侧,依次比较! 第一步 li = [13, 22, 6, 99 ...