Enviar pesquisa
Carregar
基于Ivy ant的java构建初探
•
Transferir como PPTX, PDF
•
1 gostou
•
1,580 visualizações
Anson Yang
Seguir
apache ivy
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 43
Baixar agora
Recomendados
Maven in eclipse practices
Maven in eclipse practices
Pei-Tang Huang
ASP.NET Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
江華 奚
Maven初级培训
Maven初级培训
Cody Zhang
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
Jackson Tian
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
Joseph Chiang
Java 1(Java概述)
Java 1(Java概述)
xzdbd
Html5开发android应用程序概述
Html5开发android应用程序概述
kevin_yanggl
SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践
lifesinger
Recomendados
Maven in eclipse practices
Maven in eclipse practices
Pei-Tang Huang
ASP.NET Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
江華 奚
Maven初级培训
Maven初级培训
Cody Zhang
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
Jackson Tian
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
Joseph Chiang
Java 1(Java概述)
Java 1(Java概述)
xzdbd
Html5开发android应用程序概述
Html5开发android应用程序概述
kevin_yanggl
SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践
lifesinger
Liferay环境搭建
Liferay环境搭建
donotbeevil
安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告
ahnlabchina
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
LiviaLiaoFontech
Android JNI
Android JNI
艾鍗科技
Maven私服安装,Maven使用教程
Maven私服安装,Maven使用教程
kangzj
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
Kuo-Chun Su
Big Java, Big Data
Big Java, Big Data
Kuo-Chun Su
Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門
Justin Lin
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
江華 奚
Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
Joseph Chiang
Jni文档
Jni文档
woshiwzy
Hadoop开发者入门专刊
Hadoop开发者入门专刊
liangxiao0315
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
Joseph Chiang
Jsp
Jsp
rdandy
Java Web动态图表编程
Java Web动态图表编程
yiditushe
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
Joseph Chiang
互联网创业服务器运维工具集
互联网创业服务器运维工具集
zhen chen
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
maclean liu
前端工程開發實務訓練
前端工程開發實務訓練
Joseph Chiang
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Kuo-Chun Su
AñAdir Presentacion A Un Blog
AñAdir Presentacion A Un Blog
serginho7
ACSI 2010 Social media guide
ACSI 2010 Social media guide
Esa Heiskanen
Mais conteúdo relacionado
Mais procurados
Liferay环境搭建
Liferay环境搭建
donotbeevil
安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告
ahnlabchina
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
LiviaLiaoFontech
Android JNI
Android JNI
艾鍗科技
Maven私服安装,Maven使用教程
Maven私服安装,Maven使用教程
kangzj
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
Kuo-Chun Su
Big Java, Big Data
Big Java, Big Data
Kuo-Chun Su
Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門
Justin Lin
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
江華 奚
Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
Joseph Chiang
Jni文档
Jni文档
woshiwzy
Hadoop开发者入门专刊
Hadoop开发者入门专刊
liangxiao0315
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
Joseph Chiang
Jsp
Jsp
rdandy
Java Web动态图表编程
Java Web动态图表编程
yiditushe
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
Joseph Chiang
互联网创业服务器运维工具集
互联网创业服务器运维工具集
zhen chen
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
maclean liu
前端工程開發實務訓練
前端工程開發實務訓練
Joseph Chiang
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Kuo-Chun Su
Mais procurados
(20)
Liferay环境搭建
Liferay环境搭建
安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
Android JNI
Android JNI
Maven私服安装,Maven使用教程
Maven私服安装,Maven使用教程
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services
Big Java, Big Data
Big Java, Big Data
Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
Jni文档
Jni文档
Hadoop开发者入门专刊
Hadoop开发者入门专刊
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
Jsp
Jsp
Java Web动态图表编程
Java Web动态图表编程
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
互联网创业服务器运维工具集
互联网创业服务器运维工具集
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
前端工程開發實務訓練
前端工程開發實務訓練
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Destaque
AñAdir Presentacion A Un Blog
AñAdir Presentacion A Un Blog
serginho7
ACSI 2010 Social media guide
ACSI 2010 Social media guide
Esa Heiskanen
Pakistan flood victims 2010
Pakistan flood victims 2010
waterpakistan
Dramática
Dramática
Sandra
Introduction of android 4.x new api
Introduction of android 4.x new api
Anson Yang
The Outcome Economy
The Outcome Economy
Helge Tennø
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
Barry Feldman
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
Destaque
(8)
AñAdir Presentacion A Un Blog
AñAdir Presentacion A Un Blog
ACSI 2010 Social media guide
ACSI 2010 Social media guide
Pakistan flood victims 2010
Pakistan flood victims 2010
Dramática
Dramática
Introduction of android 4.x new api
Introduction of android 4.x new api
The Outcome Economy
The Outcome Economy
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
Semelhante a 基于Ivy ant的java构建初探
OSGi Small Lab
OSGi Small Lab
Ching Yi Chan
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
drewz lin
GlassFish特性介绍
GlassFish特性介绍
Jim Jiang
ASP.Net MVC2 简介
ASP.Net MVC2 简介
Allen Lsy
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
项目开发实践No.1
项目开发实践No.1
pepsixp
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
leneli
Maven初级培训
Maven初级培训
ytsolar
[圣思园][Java SE]Websphere.application.developer(wsad)使用外置win cvs解决方案
[圣思园][Java SE]Websphere.application.developer(wsad)使用外置win cvs解决方案
ArBing Xie
项目自动化实施
项目自动化实施
dhlzj
Maven技术分享
Maven技术分享
wslfh2005
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
ArBing Xie
Spring 2.x 中文
Spring 2.x 中文
Guo Albert
Exodus2 大局观
Exodus2 大局观
wang hongjiang
IoTDB Quick Start
IoTDB Quick Start
JialinQiao
1~60
1~60
s13993010
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
zany_hui
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)
beehivedata
RESTful
RESTful
PingLun Liao
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
yiditushe
Semelhante a 基于Ivy ant的java构建初探
(20)
OSGi Small Lab
OSGi Small Lab
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
GlassFish特性介绍
GlassFish特性介绍
ASP.Net MVC2 简介
ASP.Net MVC2 简介
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
项目开发实践No.1
项目开发实践No.1
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
Maven初级培训
Maven初级培训
[圣思园][Java SE]Websphere.application.developer(wsad)使用外置win cvs解决方案
[圣思园][Java SE]Websphere.application.developer(wsad)使用外置win cvs解决方案
项目自动化实施
项目自动化实施
Maven技术分享
Maven技术分享
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
Spring 2.x 中文
Spring 2.x 中文
Exodus2 大局观
Exodus2 大局观
IoTDB Quick Start
IoTDB Quick Start
1~60
1~60
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)
RESTful
RESTful
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
基于Ivy ant的java构建初探
1.
基于Ivy/Ant的Java构建初探
统一系统部 杨剑 2012-6-20 杭州斯凯网络科技有限公司 1
2.
选择Ivy的N个理由
使用Ivy 系统构建步骤 系统构建规范 Ivy Resources 2012-6-20 杭州斯凯网络科技有限公司 2
3.
Java构建的进化过程
直接在lib中添加jar包 初期 1. 直接使用IDE导出 2. 使用Ant来构建 定义userlibraries,包含jar包声明 过渡 1. 使用Ant构建 使用Ivy、Maven统一管理依赖 现在 1. 使用Ant+Ivy构建 2. 使用Maven构建 。。。。。。 未来 2012-6-20 杭州斯凯网络科技有限公司 3
4.
Apache Ivy Apache Ivy™
is a popular dependency manager focusing on flexibility and simplicity. Apache Ivy 是Apache Ant 下的一个子项目。是 一个优秀的管理(记彔、跟踪、解析和报告) 项目依赖的工具,提供了强大的依赖管理功 能,可与Apache Ant紧密集成。 2012-6-20 杭州斯凯网络科技有限公司 4
5.
功能 能够和Apache Ant紧密集成
支持多个不同的依赖存储 依赖报告Dependency Reporting 支持持续集成 强大的冲突管理功能 reference:http://ant.apache.org/ivy/features.html 2012-6-20 杭州斯凯网络科技有限公司 5
6.
Ant+Ivy VS Maven
Maven Ant+Ivy 概念 项目管理工具 项目构建工具 +依赖管理工具 标准构建文件 project.xml、maven.xml build.xml 标准依赖文件 pom.xml ivy.xml 学习成本 需要重新学习 目前项目中大多使用Ant 曲线比较大 构建,只需要接入Ivy 2012-6-20 杭州斯凯网络科技有限公司 6
7.
谁在用 Spring Framework 2012-6-20
杭州斯凯网络科技有限公司 7
8.
选择Ivy的N个理由
使用Ivy 系统构建步骤 系统构建规范 Ivy Resources 2012-6-20 杭州斯凯网络科技有限公司 8
9.
环境安装 安装 ANT
配置环境变量: ANT_HOME::D:Javadevapache-ant PATH:%ANT_HOME%bin,(为了方便在命令行下操作) 下载Ivy 将下载的ivy安装包解压,然后复制ivy的jar文件到ant的 lib目彔下(ANT_HOME/lib)。 转到ivy解压的src/example/hello-ivy目彔并运行ant,检 验环境是否配置成功。 2012-6-20 杭州斯凯网络科技有限公司 9
10.
IDE集成 Eclipse
Apache IvyDE Intellij IDEA IvyIDEA Ivy Plugin 目前Eclipse的支持较好,其他IDE的支持正在改善中 2012-6-20 杭州斯凯网络科技有限公司 10
11.
术语
术语 描述 Organisation 组织名 Module 模块 Module Descriptor 模块描述符 Artifact 制品 Type of an artifact 制品类型 Artifact file name extension 制品文件扩展名 Module Revision 模块修订版本 Branch 分支 Status of a revision 修订本状态 Configurations of a module 模块配置 Ivy Settings ivy设置 Repository 仓库 2012-6-20 杭州斯凯网络科技有限公司 11
12.
2012-6-20
杭州斯凯网络科技有限公司 12
13.
如何工作 2012-6-20
杭州斯凯网络科技有限公司 13
14.
选择Ivy的N个理由
使用Ivy 系统构建步骤 系统构建规范 Ivy Resources 2012-6-20 杭州斯凯网络科技有限公司 14
15.
IvyDE设置 设置Ivy Settings Ivy
settings path: http://stcdev.sky-mobi.com:8080/devconf/ivysettings.xml 2012-6-20 杭州斯凯网络科技有限公司 15
16.
build.xml <?xml
version="1.0" encoding="UTF-8" ?> <!--ant 脚本文件 --> <project name="rop-mis" basedir="."> <!--设置下面要用到的属性--> <property name="module.name" value="${ant.project.name}" /> <property name="module.version" value="1.0.0" /> <property name="devconf.url" value="http://stcdev.sky-mobi.com:8080/devconf" /> <property name="app.buildfile" value="build-app.xml" /> <!-- import file="../allconf/${app.buildfile}" as=“impl"/ --> <import as="impl"> <url url="${devconf.url}/${app.buildfile}"/> </import> </project> 其中import标签,需要ant添加组件jar,可以到 https://svn2.sky-mobi.com:9991/svn/netdevpublic/TOOLS 下载已经集成的Ant 2012-6-20 杭州斯凯网络科技有限公司 16
17.
ivy.xml <?xml
version="1.0" encoding="UTF-8"?> <ivy-module version="2.0“ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> <info organisation="skymobi.app" module="${module.name}" revision="1.0.0" status="release" publication="20101124120000"> <description homepage="http://stcdev.sky- mobi.com/redmine/projects/${module.name}"> Skymobi app:${module.name} </description> </info> <configurations> <conf name="compile" visibility="public"/> <conf name="test" visibility="private" extends="compile" /> <conf name="runtime" visibility="public" extends="compile" /> <conf name="develop" visibility="public" extends="compile" /> </configurations> 2012-6-20 杭州斯凯网络科技有限公司 17
18.
ivy.xml <publications>
<artifact name="rop-mis" type="jar" ext="jar" conf="compile"/> <artifact name="rop-mis" type="source" ext="jar" conf="develop"/> <artifact name="rop-mis" type="javadoc" ext="jar" conf="develop"/> <artifact name="rop-mis" type="distribution" ext="zip" conf="runtime"/> </publications> <dependencies> <dependency org="skymobi.stc" name="stc-util" rev="latest.release" conf="compile"/> <dependency org="skymobi.stc" name="stc-bean" rev="latest.release" conf="compile"/> <dependency org="com.oracle" name="oracle-jdbc-classes12" rev="10.2.0.1.0" conf="runtime->default(*)"/> <dependency org="junit" name="junit" rev="4.8.2" conf="test->default(*)"/> <dependency org="skymobi.stc" name="stc-unit-repo" rev="snapshot" conf="compile" transitive="false" changing="true"/> <dependencies> </ivy-module> 2012-6-20 杭州斯凯网络科技有限公司 18
19.
ivy.xml
属性 描述 基数 info 包含被描述的模块的信息 1 configurations 配置元素的容器 0..1 publications 发布制品元素的容器 0..1 dependencies 依赖元素的容器 0..1 其中需要改变的是dependencies中的dependency标签,对依赖文件进行管理 属性 描述 是否必须 org 依赖的organisation名称 否,默认与模块organisation相同 name 依赖的module名称 是 rev 依赖的版本号 是 conf 内联映射配置 否 transitive true时,递归解析依赖 否,默认为true changing true时,依赖不受版本控制 否,默认false 2012-6-20 杭州斯凯网络科技有限公司 19
20.
添加到classpath
1. 右键ivy.xml,Add Ivy Library 2. Classpath添加ivy依赖,选择项目->右键属性->Java Build Path->Libraries->Add Library...->IvyIDE Managed Dependencies->finish->OK 2012-6-20 杭州斯凯网络科技有限公司 20
21.
Demo 改造原有的项目 新建项目 2012-6-20
杭州斯凯网络科技有限公司 21
22.
选择Ivy的N个理由
使用Ivy 系统构建步骤 系统构建规范 Ivy Resources 2012-6-20 杭州斯凯网络科技有限公司 22
23.
MIS 目彔结构 2012-6-20
杭州斯凯网络科技有限公司 23
24.
目录结构
1. 程序目彔 2. 脚本目彔 目彔 描述 目彔 描述 srcmainjava 主程序 bsh BeanShell脚本 srcmainresource 主程序的配置文件 hyperic hyperic配置 srctestjava 测试程序 sh Shell脚本 srctestresource 测试程序的配置文件 sql Sql脚本 manifest MANIFEST.MF文件 3. 功能单元配置目彔 目彔 描述 private 私有单元配置文件 public 公有单元配置文件 2012-6-20 杭州斯凯网络科技有限公司 24
25.
Ant Task
根据build.xml中声明,import一个build-app.xml,该文件声明ant的 构建任务,svn地址: https://svn2.sky-mobi.com:9991/svn/netdevpublic/allconf/build- app.xml build-app.xml中声明的重要的Ant Task 任务 定义 依赖(depends) resolve 解析依赖 report 生成依赖报告 resolve init 初始化目彔 prepare-dep hudson构建的变量设置 … compile 执行编译Java文件 resolve、report、prepare-dep、init compile-test 执行编译Java测试文件 init clean-all 清理target目彔 2012-6-20 杭州斯凯网络科技有限公司 25
26.
Ant Task
任务 定义 依赖(depends) clean-deploy 清理classes目彔 run-test 运行测试用例 compile、compile-test jar 生成jar包 clean-all、compile、run-test jar-test 生成jar-test包 jar、compile-test source-jar 生成源码包 jar doc-jar 生成doc包 jar clean-deploy 清理classes目彔 make-bin 生成bin目彔 jar make-dist 生成项目zip make-bin、doc-jar publish-snapshot 发布snapshot版本 make-dist,jar,source-jar,doc-jar publish-release 发布release版本 make-dist,jar,source-jar,doc-jar 2012-6-20 杭州斯凯网络科技有限公司 26
27.
build-app.xml
使用ivy,最频繁的方式是在Ant构建文件中,如果使用的Ant为 1.6.0版本或以上,只需要添加ivy的命名空间到项目中(project标签的属 性) xmlns:ivy="antlib:org.apache.ivy.ant“ <project xmlns:ivy="antlib:org.apache.ivy.ant" > ivy setting <ivy:settings url="http://stcdev.sky-mobi.com:8080/devconf/ivysettings.xml" /> 如果不设置ivysetting,默认读http://ant.apache.org/ivy/history/latest- milestone/samples/ivysettings-default.xml 2012-6-20 杭州斯凯网络科技有限公司 27
28.
build-app.xml <target
name="resolve" description="--> retreive dependencies with ivy"> <ivy:retrieve pattern="${module.target}/lib/[conf]/[artifact]-[revision]-[type].[ext]" conf="compile,test,runtime" type="jar,bundle" /> </target> ivy:retrieve任务复制解析好的依赖到你的文件系统的任何位置,它是 一个post resolve任务,拥有post resolve任务共有的所有的行为和属 性。 2012-6-20 杭州斯凯网络科技有限公司 28
29.
retrieve
属性 描述 必须 pattern 用来复制依赖的正则表达式 No,默认${ivy.retrieve.pattern} conf 用于获取配置的列表,逗号分隔 No, type 可以接受的制品类型 No,默认为所有类型都接受 pattern="${module.target}/lib/[conf]/[artifact]-[revision]-[type].[ext]“ 获取最后一次解析调用的所有依赖到lib目彔中,依赖将分隔在按照组织命 名的目彔中,每个conf目彔包含对应的带修订版本和制品类型依赖 conf="compile,test,runtime“ 声明了三个配置compile、test、runtime,那么lib目彔应该是这样的: lib compile stc-bean-1.0.6-jar.jar test stc-bean-1.0.6-jar.jar runtime stc-bean-1.0.6-jar.jar 2012-6-20 杭州斯凯网络科技有限公司 29
30.
post resolve tasks 在ivy中有几个任务被认为是后解析任务(post
resolve task),并相应地共 享公用行为和设置。这些任务是: retrieve cachefileset cachepath artifactproperty (since 2.0) artifactreport (since 2.0) 所有这些任务都将自动触发resolve 2012-6-20 杭州斯凯网络科技有限公司 30
31.
resolve
解析在ivy.xml文件中描述的依赖,并将解析后的依赖放置到ivy缓 存中。 ivy缓存默认为user.home/cache目彔,它通过下面的方式确定路 径: 1. 查找变量ivy.cache.dir 2. 如果没有找到,使用ivy.default.ivy.user.dir/cache ivy.default.ivy.user.dir默认情况使用user.home 所以要改变cache目彔,在build.xml设置 <property name="ivy.default.ivy.user.dir" value="D:ivy" /> 当ivy完成解析任务时,它将输出概要: 2012-6-20 杭州斯凯网络科技有限公司 31
32.
resolve
Tag tag 模式 modules number 配置下被解析的依赖模块的总数目,包括间接的依赖 search 需要访问仓库的依赖模块的数目 dwnlded 从仓库下载的依赖模块的数目 evicted 冲突管理器筛选出依赖模块的数目 artifacts number 配置下被解析的制品的总数目 dwnlded 从仓库实际下载的制品数目 2012-6-20 杭州斯凯网络科技有限公司 32
33.
publish 发行当前模块的制品和已解析的描述符(模块声明的ivy文件) 目的是发行当前模块描述符和它声明的发行制品到仓库中,提供给其
他项目使用。 <ivy:publish resolver="share-release" artifactspattern="${release.dir}/[artifact]-[revision]-[type].[ext]" srcivypattern="${module.home}/ivy.xml" pubrevision="${module.version}" update="true" overwrite="true" status="release" /> 2012-6-20 杭州斯凯网络科技有限公司 33
34.
publish
属性 描述 必须 resolver 用来发行制品的解析器名称 是 No,默认 artifactspattern 用于查找发行制品的正则表达式 ${ivy.publish.src.artifacts.pattern} 用于查找发行制品ivy文件的正 No,默认与artifactspattern srcivypattern 则表达式 相同 pubrevision 用于发行的修订颁布 No,默认为${ivy.deliver.revision} true 时 在 发 行 前 更 新 ivy 文 件 的 No,默认为false update metadata,false相反 true时覆盖仓库中修订版本一样 No,默认为false overwrite 的文件,false相反 status 发行的status No,默认${ivy.status} publish-snapshot与publish-release,区别在于用的resolver, resolver 的声明在ivysettings.xml中可以找到。 2012-6-20 杭州斯凯网络科技有限公司 34
35.
WEB 目彔结构 2012-6-20
杭州斯凯网络科技有限公司 35
36.
目录结构 目彔结构
术语 描述 src 程序目彔 resources 程序配置文件 WebContent(WebRoot) web目彔 2012-6-20 杭州斯凯网络科技有限公司 36
37.
build.xml <?xml
version="1.0" encoding="UTF-8" ?> <project name="sup-cms" basedir="."> <!--property name="ivy.default.ivy.user.dir" value="D:ivy" /--> <!--设置下面要用到的属性--> <property name="module.name" value="${ant.project.name}" /> <property name="module.version" value="1.0.0" /> <!-- 不同IDE工程的Webcontent不同--> <property name="web.content" value="WebContent"/> <property name="devconf.url" value="http://stcdev.sky-mobi.com:8080/devconf" /> <property name="lib.buildfile" value="build-web.xml" /> <import file="build-web.xml" as="impl"/> <!--import as="impl"> <url url="${devconf.url}/${lib.buildfile}"/> </import--> </project> 2012-6-20 杭州斯凯网络科技有限公司 37
38.
Ant Task
任务 定义 依赖(depends) resolve 解析依赖 report 生成依赖报告 resolve init 初始化目彔 clean-all prepare-dep hudson构建的变量设置 … compile 执行编译Java文件 resolve、report、prepare-dep、init one-war 打war包 compile make-dist 把项目打成zip one-war clean-all 清理target目彔 clean-deploy 清理classes目彔 2012-6-20 杭州斯凯网络科技有限公司 38
39.
build-web.xml resolve和report
target与mis端声明类似。 其中比较重要,也需要注意的就是打war包,其中classes目彔不使用 WEB-INF自动生成的,而是使用通过compile出来classes。 <target name="one-war" depends="compile"> <war warfile="${dist.war}/${module.name}.war" webxml="${module.webxml}" manifest="${web.content}/META-INF/MANIFEST.MF"> <fileset dir="${web.content}"> <include name="**/*.*"/> <exclude name="**/web.xml"/> <exclude name="**/classes/**"/> </fileset> <classes dir="${module.classes}"/> <lib dir="${compile.lib}/runtime"> <include name="**/*.jar"/> </lib> 2012-6-20 杭州斯凯网络科技有限公司 39
40.
build-web.xml <manifest>
<attribute name="Specification-Title" value="${module.name}"/> <attribute name="Specification-Version" value="${module.version}"/> <attribute name="Implementation-Title" value="${module.name}"/> <attribute name="Implementation-Version“ value="${module.version}- ${dist.build.number}-${dist.build.id}-[${dist.revision}]"/> <attribute name="Specification-Vendor" value="SKY NETWORK TECHNOLOGIES CO.,LTD"/> <attribute name="Implementation-Vendor" value="SKY NETWORK TECHNOLOGIES CO.,LTD"/> </manifest> </war> </target> 2012-6-20 杭州斯凯网络科技有限公司 40
41.
选择Ivy的N个理由
使用Ivy 系统构建步骤 系统构建规范 Ivy Resources 2012-6-20 杭州斯凯网络科技有限公司 41
42.
Ivy Resources Java开发库管理平台(公司) http://stcdev.sky-mobi.com:8080/nexus/
Mvn Repositories Mvnrepository IBiblio maven repository JBoss Maven Repository Find Jar http://www.findjar.com/ Ivy专栏 http://www.iteye.com/wiki/ivy Apache Ivy 2012-6-20 杭州斯凯网络科技有限公司 42
43.
提问与讨论 2012-6-20
杭州斯凯网络科技有限公司 43
Baixar agora