使用Ivy管理项目中的依赖
来源:互联网 发布:java字符串只保留汉字 编辑:程序博客网 时间:2024/04/27 18:32
http://www.cnblogs.com/wufengtinghai/p/4559251.html
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管理项目中的依赖
- 使用Ivy管理项目中的依赖
- 使用Ivy管理项目中的依赖
- Ant + Ivy 管理项目依赖
- IVY 管理依赖项
- 用Apache Ivy实现项目里的依赖管理
- 用Apache Ivy实现项目里的依赖管理
- 用Apache Ivy实现项目里的依赖管理
- 用Apache Ivy实现项目里的依赖管理
- ant+ivy管理项目
- ivy 依赖其他项目配置
- 使用Maven管理Java项目中的依赖
- 使用ivy管理项目需要的jar包
- 使用ivy管理jar包
- 使用CocoaPods管理iOS项目中的依赖库
- ivy+ant 构建管理+依赖管理;解决ivy 发布snapshots版本到nexus中
- 让开发自动化: 利用 Ivy 管理依赖项
- 让开发自动化: 利用 Ivy 管理依赖项
- hdoj1078 FatMouse and Cheese(记忆化搜索)
- 如何在长短期记忆(LSTM)网络中利用TimeDistributed层---python语言
- [leetcode]617. Merge Two Binary Trees
- yii2读写分离配置
- 一个综合面板
- 使用Ivy管理项目中的依赖
- AFSecurityPolicy 之 evaluateServerTrust
- 用来操作Array对象的方法
- IVY教程
- 聊聊Twemproxy是什么
- a foreign key constraint fails (`school`.`score1`, CONSTRAINT `FK_jqig2u3ktbhovid14i12faasf` FOREIGN
- EditText插入图片
- 关于2005-Unknown MySQL server host 'localhost'(0)
- 仿RadioGroup实现底部导航