Ant和Ivy集成部署和使用
Apache Ivy是专门用来管理项目的jar包依赖的。我们知道Maven已经有很出色的这方面的功能,如果你已经在使用Maven,就没必要使用Ivy了。但是其实Maven除了这方面功能,还有很多强大的功能,如果你只需要管理jar包依赖而已,那么可以只用Ivy就够了,用Maven就有点大材小用。
1. 首先,你的机器应该已经安装了Ant和JDK,最好是1.6或更高版本的Ant,并在计算机环境变量里已经配置好了正确的ANT_HOME,JAVA_HOME和path变量。
2. 接下来,在某磁盘,比如D盘,随意建一个文件夹,用来安装Ivy,比如D:/AntIvy
3. 然浏览器,访问以下链接,可以直接下载得到build.xml文件:
http://ant.apache.org/ivy/history/latest-milestone/samples/build.xml
将下载到的build.xml文件保存在D:/AntIvy中。
4. 打开DOS命令行cd进入该目录D:/AntIvy
输入ant,回车,就会开始安装Ivy了。不过可能失败,有些时候电脑无法直接下载一些东西,需要代理,所以,运行ant命令前需要设置Ant代理,先运行:
set ANT_OPTS=-Dhttp.proxyHost=xxx.xxx.xxx -Dhttp.proxyPort=1234 注意: xxx.xxx.xxx为代理服务器IP地址
然后再运行ant命令就可以了,这样将会进行安装Ivy。
5. 安装成功后,D:/AntIvy下会有ivy和src目录,ivy目录下有个ivy.jar,将该jar包拷贝到ANT_HOME/lib下。(其实整个说来说去,最重要的就是要获得这ivy.jar文件。其他的都是浮云。撇开这些步骤,如果你能用其他方式获得这个ivy.jar那么就等于你已经可以使用Ivy了,最简单的方式就是去maven Repo中搜ivy就可以下载了,哈哈。)
6. 经过以上5个步骤后,实际上已经完成Ivy的安装和配置了,下面我们来看一个Example使用Ivy。访问以下路径,会有几个Ivy例子:
https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example
可以下载到hello-ivy,将该例子保存下来,DOS命令行进入该hello-ivy工程根目录。输入ant命令并运行,执行过程和结果如下: 

这只是第一次运行ant,需要下载jar包等所以慢,还打印了不少东西,但是第二次再运行ant时,就很快了。
测试用例的代码也可以从我的百度网盘下载:链接:https://pan.baidu.com/s/1imjpBT6o7m7VkLmK0qJ4ng 提取码:xizm
7. 好了,现在我们可以看看hello-ivy实例工程中根目录中ivy.xml和build.xml,这是很简单的文件,你看看一定会有所领悟的,而且你知道你可以随便copy,然后修修改改就可以用到其他的项目中。比如现在我们在Eclipse中新建了一个JavaProject,我们只要把这两个文件copy到新项目的根目录下。Eclipse中一般有内置的Ant,所以我么运行Ant的build时,使用的是内置的Ant,这时需要配置一下Eclipse中的Ant,加上我们的ivy.jar,你懂的。
8. Window --> Preferences --> Ant --> Runtime --> 点选Ant Home Entries或GlobalEntries --> Add External Jar将我们安装的Ivy下的ivy/ivy.jar添加进来就可以了。
其实,使用Ivy最重要的就是获得ivy.jar,这个可以上http://search.maven.org/搜索ivy就可以获得了。将获得的jar包放入Ant的lib里面就OK啦。
其次就是build.xml和ivy.xml,这里主要的是一些Ant命令的写法,在build.xml中如何编辑标签来配置ant命令,另外ivy.xml中配置的是dependency,而且两个文件可以合二为一,如果你对这些配置已经很熟悉,那么就没什么好看的啦。
在Eclipse中安装IvyDE插件
http://www.apache.org/dist/ant/ivyde/updatesite
Help --> Install New Software... --> Add
然后名称设为:ApacheIvy update site
Location即上面的url:http://www.apache.org/dist/ant/ivyde/updatesite
然后安装的时候选择这个新添加的UpdateSite,勾选ApacheIvyDE,Next,开始安装。
好了,重启Eclipse,OK。安装好插件是可以让Eclipse也可以像Maven那样管理jar包。
当然,还有其他的方法,比如下载个IvyDE的.zip自己copy到Eclipse的plugin和feature里也可以。
————————————————
参考链接:
2、eclipse使用ant + ivy 配置项目jar包和依赖关系
官方手册:Apache Ivy-Documentation (2.4.0)-Tutorials
Ant和Ivy集成部署和使用的更多相关文章
- 自动化集成部署udeployer 批量统一安装一键部署
通过jenkins构建项目:version版本控制:udployer自动化集成:ucop业务巡检做到高效高可用的自动化体系. 1.0版本: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一sh ...
- jenkins, ant, pmd持续集成
http://pmd.sourceforge.net/pmd-5.0.3/ant-task.html 在jenkins , ant , pmd进行集成的时候,build.xml模板如下,在网上找了一些 ...
- 用Ant来做一键部署
部署Java Web项目到远程服务器上,以前经常用的操作方式: 1.在eclipse上导出项目war包 2.把war包通过ftp方式传到服务器上,比如Tomcat的webapps目录下 3.启动tom ...
- ABP .Net Core API和Angular前端APP集成部署
前言:在ABP官网(https://aspnetboilerplate.com)生成的.Net Core + Angular项目前后端是两个独立的项目,我们可以分开部署,也可以将前端和Web API一 ...
- [dotnet core]落地微服务特色的DevOps管道,持续集成/部署到kubernetes。
目录 前言 目标 工具 - 最小的学习成本 方案 - 愿景 1. 持续集成 - CI 2. 持续部署 - CD 部署环境 1. 部署gitlab-runner 2. 注册gitlab-runner 搭 ...
- ANT与SVN集成
需求描述:从SVN服务器检出最新代码,编译,打包,发布测试环境. 解决方案:使用ANT官网提供的扩展工具中的svnant检出代码. 环境介绍: 操作系统:windows 7 64bit ant版本:a ...
- mysql集成部署
经常听说mysql数据库是集成在系统中,也一直不太明白集成的概念.今天才明白集成的概念就是将mysql所有的文件放到一个文件夹下放到系统中,也就是将mysql采用目录迁移部署的方式进行安装.在上一篇研 ...
- Centos7.4简单安装使用gitlab+maven+jenkins实现java代码的持续集成部署
1.工具的简单介绍 gitlab--源代码版本管理控制工具 maven--java代码编译构建工具 jenkins--基于java开发的自动化持续集成部署工具 sonar--代码质量管理工具 2.gi ...
- Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成——部署方案优化
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成--部署方案优化 之前我们做的方案部署都是只能选择一个微服务部署并只有一台生产服务器,每个微服务只有一个 ...
- Jmeter接口数据流测试及持续集成部署:(一)Jmeter环境搭建:安装JDK、安装Jmeter、安装Fiddler、安装ant
Jmeter环境搭建 1.安装JDK 官方下载地址:https://www.oracle.com/java/technologies/downloads/ 安装方法:双击jdk安装包,一直下一步安装即 ...
随机推荐
- KubeSphere 部署 Zookeeper 实战教程
前言 知识点 定级:入门级 如何利用 AI 助手辅助运维工作 单节点 Zookeeper 安装部署 集群模式 Zookeeper 安装部署 开源应用选型思想 实战服务器配置(架构 1:1 复刻小规模生 ...
- Ubuntu自动连接到虚拟专用网络
在我们继续之前,我们所做的一个重要假设是,您已经拥有了虚拟专用网络客户端配置文件. 您可以通过以下链接在我们的上一指南中看到一个示例 Open虚拟专用网络 客户端配置文件: 在 CentOS 8/乌本 ...
- Derivative norm vector repect to time 《PBM by Pixar》 Appendix D.2 code
目录 1 Derivative normal vector repect to time 1.1 Derivative vector norm repect to time X Ref Vector ...
- [Windows] 屏幕截图工具Snipaste 开发过程更轻松
前言 老大:你去把用户登录代码写完. 老大:你把这周的周报发一下 老大:你把生产的数据清理一下. 结果.... 今天刚把登录代码写完,下班,明天就处理别的事情去了!!! 之后我就... 直接F1 截屏 ...
- SparkSQL练习:对学生选课成绩进行分析计算
题目内容: 对学生选课成绩进行分析计算 题目要求: (1)该系总共有多少学生: (2)该系共开设来多少门课程: (3)每个学生的总成绩多少: (4)每门课程选修的同学人数: (5)每位同学选修的课程门 ...
- Python之subprocess 执行报错
问题 我用subprocess 执行命令查 主机Ip 报错 command = """ "grep {0} /etc/hosts | awk '{print ...
- (Python基础教程之十六)Python multidict示例–将单个键映射到字典中的多个值
1.什么是multidict词典> 在python中," multidict "一词用于指代字典,在字典中可以将单个键映射到多个值.例如 多重结构 multidictWith ...
- JVM性能优化, Part 5:Java的伸缩性
本文由 ImportNew - ImportNew读者 翻译自 Javaworld.如需转载本文,请先参见文章末尾处的转载要求. ImportNew注: JVM性能优化系列文章前4篇由ImportNe ...
- Lock Less Java Object Pool
It has been a while since I wrote anything, I have been busy with my new job that involves doing som ...
- 【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)
前面我们已经讲过布隆过滤器的原理[实战问题]-- 缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢? 目录 布隆过滤器 手写布 ...