- 浏览: 580604 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (188)
- java (14)
- web (14)
- web service (3)
- 杂谈 (14)
- Version Control (13)
- software test (30)
- linux (17)
- database (3)
- distributed storage and computing (1)
- ejb (7)
- project building (46)
- spring & IOC (2)
- Thread (2)
- xml (2)
- tool software (0)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (0)
- project manager (9)
- OSGI (1)
- nosql (3)
最新评论
-
sp42:
好搞笑
你懂不懂xml! (2) -
cherishmmo2004:
感觉你们都很牛掰,我们做的一个运维平台也是用karaf的,用k ...
基于osgi开发大型的企业应用 -
liubey:
“自作聪明”的使用了读写锁,其实只使用ReentrantLoc ...
编码最佳实践(4)--小心LinkedHashMap的get()方法 -
liubey:
你这个代码是sublist后仍然一直持有这个sub的引用,一般 ...
编码最佳实践(5)--小心!这只是冰山一角 -
xiegqooo:
初学maven(5)-使用assembly plugin实现自定义打包
在ivy中使用了很多术语,他们的定义如下:
* 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 / 仓库
一. 概述
下面的插图展示了所有的关键术语:
二. Organisation / 组织
组织可以是公司,个人,或者仅仅是任何开发软件的一组人。原则上,ivy仅处理单一级别的组织,这意味着他们在ivy模块描述符中拥有一个扁平的命名空间。因此,如果使用分层的命名习惯,用ivy的描述符只能描述树形组织结构。组织名用来将同一个团队生产的软件保持一致,仅仅是帮助定位他们发布的。
作品。
在ivy中通常使用反转的域名作为组织名,因为域名是独一无二的。域名为www.example.com的公司可以使用com.example,或者如果他们有多个团队,他们的组织名可以以com.example开头(例如com.example.rd, com.example.infra, com.example.services)。组织名并不强制要求一定要是域名反转,或者全局唯一,但是唯一的名字是高度推荐的。被广泛认可的商标或者商业名的拥有者可以选择使用他们商标名。如org.apache, ibm, jayasoft
注意ivy的“组织”非常类似maven POM 中的"groupId"。
三. Module / 模块
模块是一个完备的可重用的软件单元,带有一个修订版控制方案。
ivy仅关心模块的发布比如大家熟知的"artifacts",还有用于表示他们的模块描述符。这些发布,包括模块的每一个修订版本,在仓库中管理。换句话说,对于ivy,一个模块就像一个修订版本链,每个修订版本由一个描述符和一个或多个artifact构成。例如:hibernate-entitymanager, ant
模块描述符
模块描述符是识别模块的一般方法:识别符(组织,模块名,分支和修订版本),已发布的制品,可能的配置和依赖。
在ivy中最通用的模块描述符是Ivy Files,带有ivy特定语法的xml文件,通常被称为ivy.xml。
但是既然ivy同样兼容maven2的原数据格式(名为pom, Project Object Model, 项目对象模型), pom文件也可以作为模块描述符使用。
而且由于ivy支持可插入式的模块描述符解析器,因此几乎可以使用任何东西作为模块描述符。
四. Artifact / 制品
制品是一个为模块修订版本的发布而准备的单独文件,作为开发的一个产品。
通常推荐使用压缩包格式,因为容易管理,传送和存储。同样的理由,通常一个模块只有一个或者很少的制品。无论如何,制品可以是任意文件类型,在一个单独的模块中可以申明任意数量。
在java的世界种,通常的制品是Java archives 或者说jar文件。在很多情况下,模块的每个修订版本只发布一个制品(例如 jakarta-log4j-1.2.6.tar.gz), 但是他们中的一些发布多个制品,取决于模块的使用。(像 apache-ant 二进制和源文件,分别打包为zip, gz 和bz2 格式).例如: ant-1.7.0-bin.zip, apache-ant-1.7.0-src.tar.gz
制品类型
制品类型是一个特别类型的制品范例的范畴(翻译的很晕,原文:The artifact type is a category of a particular kind of artifact specimen.)。 这是基于制品的已制定计划或者制品如何提供的分类法,而不是包的格式类型或者制品如何发布。
虽然制品的类型可能暗示它的文件格式,但是他们是两个不同的概念。制品的文件扩展名和它的格式联系更紧密。例如,Java archives的情况,制品类型"jar"显示它确实是一个Java archive文件,符合JAR文件规范。它的文件扩展名只是凑巧也是"jar"。另一方面,对于源文件发布包,制品类型可能是"source",虽然文件扩展名可以是"tar.gz", "zip", "java", "c", 或 "xml"。所以,制品类型基本上是用来解释它的目的的抽象功能类别,而制品文件扩展名是更加具体的技术上的文件格式和名称的标记。
定义模块的适当的制品类型由开发组织决定。通常的选择包括: "jar", "binary", "bin", "rc", "exe", "dll", "source", "src", "config", "conf", "cfg", "doc", "api", "spec", "manual", "man", "data", "var", "resource", "res", "sql", "schema", "deploy", "install", "setup", "distrib", "distro", "distr", "dist", "bundle", 等等.
模块描述符不是真正的制品,但是他们可以作为一个制品类型,比如"descriptor"(ivy file 或者 Maven POM).
电子签名或者摘要本身不是真正的制品,但是他们可以再仓库中被找到。他们也被作为一种制品类型,例如"digest" (md5 or sha1)。
五. 模块修订本和状态
模块修订本
模块的每一个被发布的唯一状态都被分配一个唯一的修订本编号或者版本名。ivy可以帮助为模块的发布生成修订本编号,并将修订本发行到仓库中,但是修订本控制的其他方便,尤其是源文件修订,必须由单独的版本控制系统管理。
因此,对于ivy,修订本经常对应模块的一个发布版本。它可以是public, shared 或 local delivery,一个发布,一个里程碑或者一个集成构造,一个alpha或者bata版本,一个nightly build, 或者甚至是一个持续构造。它们都被ivy视为修订本。
在某些情况下,源文件控制系统的源文件修订本编号可以被用来作为模块的修订本编号,但是这种用法非常少见。它们是两个不同的概念,即使模块的修订本编号是完全或部分从源文件修订本编号中复制过来。
分支
分支对应于源文件控制管理工具中的分支(有时是stream/流)的标准含义。head, 或者trunk, 或者main stream都被ivy视为分支。
修订本状态
模块的状态显示模块的修订本的稳定程度。它被用来统一所有模块依赖的状态,防止在模块的release中使用依赖的集成修订本。
ivy默认定义三种状态
* integration/集成: continuous build,nightly build等产生的修订本归于此类
* milestone/里程碑: 发布给公众但是还没有真正完成的修订本归于此类
* release/发行: 完整测试并被打好标签的修订本归于此类
在1.4版本之后,这个列表可以在settings file/设置文件中配置。
六. 模块配置
模块配置是使用或者构建一个模块的方法。如果同一个模块有不同的依赖,基于如何使用,在ivy中这些不同的依赖组合被称为它的配置。
一些模块可能以不同的方式被使用(考虑hibernate,可以在应用服务器内部或者外部使用),而这种方式可能改变你需要的制品(这种情况下的hibernate, jta.jar仅仅当它被在应用服务器外部使用时才需要)。此外,模块可能仅仅在build时需要一些其他模块或者制品,而在运行时需要其他一些。所有这些不同的使用或者构建模块方式在ivy中被称为模块配置。
更多配置和他们在ivy中如何被使用的细节,请参考主要概念的页面。
七. ivy设置
ivy设置文件是xml文件,用于配置ivy来指示从哪里可以找到模块和如何找到模块。
设置的历史
在ivy2.0之前,设置文件被称为配置文件,通常名为为ivyconf.xml。这导致了模块配置和ivy配置文件之间的混淆,因此被重命名为配置文件。如果你偶尔发现ivyconf文件,或者某些被称为配置文件的东西,大多数情况下都只是因为它是没有更新的信息(文档,指南和文章). 可以随便报告任何类似这样的问题,如果你在这封文档中发现这样的不一致。
八. 仓库
在ivy中,被称为仓库的是ivy用来发现你要求的模块的制品和描述符的分布站点位置(也就是大多数情况下的ivy文件)。ivy可以使用非常精巧的配置的复杂仓库。你可以使用Dependency Resolvers来做这些。
发表评论
-
搜索maven依赖的网站推荐
2011-12-02 16:04 4294使用maven填写依赖的时候,常会遇到需要查一下gro ... -
hudson中subversion HEAD check out 的问题及疑惑
2010-09-30 10:56 40近期发现一个问题,hudson执行任务时,经常不能获取 ... -
你走你的阳光道,我走我的独木桥:整合ant ivy 和testng
2010-05-31 16:11 2065近期自己折腾自己,放着正统的maven + jun ... -
slf4j1.6.0-RC0和logback的0.9.20版本不兼容
2010-04-26 08:54 3502今天,尝试使用slf4j + logback的黄金组合,结果发 ... -
fisheye2.2.1 & Crucible 2.2.1 安装配置笔记
2010-04-27 16:48 31701) 下载 从atlassian网站 ... -
让ivy支持maven的classifier属性
2009-10-15 01:56 3174在maven中,对于一个依赖,除了groupId,ar ... -
ivy教程(1)-目录
2009-09-21 23:57 2934学习的最佳方式是实践!这是ivy教程将帮助你做到的 ... -
ivy教程(2)-快速开始
2009-09-22 11:48 3044在这个例子中,我们将看到使用ivy的一个最简单的方 ... -
ivy教程(3)-调整默认设置
2009-09-24 20:58 2330ivy绑定一些默认 ... -
ivy教程(4)-多解析器
2009-09-25 15:28 1782这个例子演示模块是如何被多解析器获得的。使用多解析 ... -
ivy教程(5)-双重解析器
2009-09-27 20:58 1704在一些情况下,会发生这样的事情:你的模块描述符(ivy ... -
ivy教程(6)-项目依赖
2009-09-29 23:32 2992这个示例将举例说明在两个项目之间的依赖。 depen ... -
ivy教程(7)-在多项目环境下使用ivy
2009-10-03 11:48 2352在上一个教程中,你已 ... -
ivy教程(8)-使用ivy模块配置
2009-10-04 10:15 2649这个教程介绍ivy文件中的模块配置的使用。ivy模块配置事实上 ... -
ivy教程(9)-架设仓库(1)-介绍
2009-10-04 13:42 1837install任务让你从一个仓库复制一个模块或者模 ... -
ivy教程(10)-架设仓库(2)-基础仓库复制
2009-10-04 15:04 3040在这个步骤中我们使用install任务来从mave ... -
ivy教程(11)-架设仓库(3)-使用命名空间
2009-10-09 21:04 2241现在你已经看到从一个已经存在的仓库创建你自己的仓库是如何的简单 ... -
ivy教程(12)-更多例子
2009-10-09 21:29 1808如果你已经成功的跟随并理解了所有的教程,可能你还是需要得到更好 ... -
ivy中文参考文档(21)-ant任务(9)-post resolve tasks
2009-09-15 14:17 14601) post resolve tasks ... -
ivy中文参考文档(20)-ant任务(8)-cachefileset
2009-09-03 23:11 13831) cachefileset 为配置构建一个有iv ...
相关推荐
标签:apache、ivy、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
包含翻译后的API文档:ivy-2.4.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.ivy:ivy:2.4.0; 标签:apache、ivy、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,...
在"apache-ivy-2-5-0.rar"这个压缩包中,包含了Apache Ivy 2.5.0版本的所有组件和文档。 Ivy的核心概念是依赖解析,它允许开发者声明项目所依赖的库,并自动下载这些库及其依赖,避免了手动管理JAR文件的繁琐工作。...
该软件包中包含apache-ivy-2.5.0-rc1-bin.tar.gz部署安装包、apache-ivy-2.5.0-rc1-bin-with-deps.zip依赖包、apache-ivy-2.5.0-rc1-src.zip源码。
3. **docs**目录:可能会包含Ivy的用户手册、API文档和其他帮助材料,对于理解和使用Ivy非常有帮助。 4. **conf**目录:可能包含Ivy的配置文件,如`ivysettings.xml`,用于定义仓库位置、代理设置等。 5. **bin**...
Ivy不仅可以处理JAR文件,还可以管理各种类型的资源,如文档、源代码等。在"apache-ivy-2.3.0-bin.tar.gz"这个压缩包中,包含了Apache Ivy 2.3.0版本的所有文件,供用户在Ubuntu系统中使用。 首先,让我们深入了解...
资源分类:Python库 所属语言:Python 资源全名:ivy-demo-utils-1.1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
《PyPI官网下载 Ivy-Demo-Utils:一个Python库的深度探索》 PyPI(Python Package Index)是Python开发者广泛使用的软件包仓库,它为全球的Python社区提供了一个集中的平台,用于分享、发布和下载Python库。在这个...
压缩包子文件的文件名"apache-ivy-2.2.0"很可能包含了Ivy的完整发布内容,如`ivy.jar`(Ivy的主要可执行文件)、文档、示例和可能的配置文件等。这些内容可以帮助用户快速理解和使用Apache Ivy。 Apache Ivy的核心...
5. **配置Ivy**:在Eclipse中,进入“窗口”->“首选项”->“Ivy”,在这里可以设置Ivy的配置,比如ivy.xml文件的位置,ivy仓库的路径等。这一步骤对于确保IvyDE能正确解析和管理你的项目依赖至关重要。 6. **创建...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
**Python库ms_ivy-1.8.4-py2-none-manylinux1_x86_64.whl详解** 在Python编程中,库扮演着至关重要的角色,它们提供了丰富的功能和模块,帮助开发者高效地完成各种任务。`ms_ivy`是一个这样的库,它的版本为1.8.4,...
Ivy学习使用文档 Ivy 是一种基于 Apache Ant 的依赖管理工具,用于管理项目中的依赖项和库文件。下面是对 Ivy 学习使用文档的详细解释和知识点总结。 Ivy 基础知识 Ivy 是一个开源的依赖管理工具,基于 Apache ...
This is the first non-beta release of Ivy under Apache and includes some major new features like: enhanced Maven2 compatibility, improved cache management, improved concurrency support and numerous ...
SBT利用Ivy库进行依赖管理,Ivy2是Apache Ivy的一个版本,它是一个强大的依赖管理系统,广泛用于Java和Scala项目中。 在Java和Scala的世界里,构建工具有如Maven、Gradle和SBT等,它们负责自动化项目的构建过程,...
官方下载包,包含源码方便在ant技术上进一步学习
3. **文档**:虽然这里可能没有完整的用户文档,但可能会有README文件或其他文档,解释如何构建和使用Ivy的源代码。 4. **测试用例**:在 `src/test` 目录下,可以看到Ivy的单元测试和集成测试,这些测试用例有助于...
2. **docs**:这里会有Ivy的用户指南、API文档以及其他相关的说明文件。 3. **lib**:包含Ivy运行时所需的库文件。 4. **src**:如果包含源码,这个目录下会有Ivy的所有源代码文件,按照模块结构划分。 5. **conf**...
资源来自pypi官网。 资源全名:ms_ivy-1.8.4-py2-none-manylinux1_x86_64.whl
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装