- 浏览: 583513 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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实现自定义打包
1) 解析
解析任务实际解析在ivy文件中描述的依赖,并将解析后的依赖放置到ivy缓存中。
如果在resolve任务前没有调用configure任务,则将使用默认的configuration (等同于不带参数的调用configure).
在这个任务调用之后,在ant中有四个属性被设置:
- ivy.organisation 设置为在用于解析的ivy文件中找到的组织名
- ivy.module 设置为在用于解析的ivy文件中找到的模块名
- ivy.revision 设置为在用于解析的ivy文件中找到的修订版本名,或者如果在制定的文件中没有修订版本名则是新生成的修订版本名。
- ivy.resolved.configurations 设置为解析好的configuration列表,逗号分隔。
从1.2起:
如果在最后一次解析后被解析的依赖发生了变化,一个额外的属性将被设置为true,否则为false。
从2.0起:
如果你设置参数checkIfCompiled为false(默认是true以保持向后兼容),属性ivy.deps.changed将不被设置。当你有进行多配置下的多模块构建时这容许完善你的构建。
从2.0起:
额外的,如果resolveId属性被设置,下列属性也将被设置:
* ivy.module.${resolveId}
* ivy.revision.${resolveId}
* ivy.resolved.configurations.${resolveId}
* ivy.deps.changed.${resolveId}
当ivy完成解析任务时,它将输出概要来说明解析了什么。概要看起来像这样:
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 4 | 0 | 0 | 0 || 4 | 0 |
---------------------------------------------------------------------
这个表单给出一些关于依赖解析的统计。每行对应于一个解析了的配置。这个表单被划分为两个部分:
- modules
- number 在这个配置下被解析的依赖模块的总数目,包括间接的依赖。
- search 这是需要访问仓库的依赖模块的数目。如果模块还不在缓存中则需要访问仓库,或者要求最新版本,或者一些其他情况(例如,根据checkModified)
- dwnlded 从仓库下载的依赖的ivy文件的数目。使用清理好的缓存,这个数目可以比模块的总数目少,如果一些依赖没有提供ivy文件。
- evicted 被冲突管理器逐出的依赖模块的数目。
- artifacts
- number 在给定的配置中解析的制品的总数目。
- dwnlded 从仓库中实际下载的制品的数目。
2) Inline模式
从1.4起 inline模式容许在没有ivy文件的情况下通过直接设置需要从仓库中被解析的模块调用resolve。对于安装发布的软件特别有用,例如ant任务。当inline设置为true,组织模块和修订版本属性被用于指定哪个模块应该从仓库中解析。
注意:如果你想要设置标准ivy属性或者通过其他post-resolve任务重用inline解析的结果,类似retrieve, cachepath, report, ..., 你必须设置keep属性为true。
3) Resolve 模式
从1.4起 解析模式容许定义当执行解析时ivy应该如果使用依赖修订版本约束。
有两个模式可用:
- default 在这个模式下使用默认修订版本约束(通过 dependency 元素的rev属性来表示)
- dynamic 在这个模式下使用动态修订版本约束(通过 dependency 元素的revConstraint属性来表示)
4) 并发
在解析的过程中,ivy在解析缓存中创建一个文件。这个文件的创建并不是为了支持并发,意味着你不能在同样的解析缓存中,有同样模块的同样的resolveId的,两个并发解析。
给开发人员的备注:
在这个任务调用之后,有一个被解析的模块描述符的引用被设置在ant项目中,id为
5) 属性
file | path to the ivy file to use for resolution 用来解析的ivy文件的路径 |
No. 默认是${ivy.dep.file}或在inline模式下不设值 |
conf | a comma separated list of the configurations to resolve, or '*'. 用于解析的逗号分隔的配置列表,或者'*' Since 2.0 , you can also use '*(private)', '*(public)'. Note that when inline is true, the configuration '*' is equivalent as '*(public)'. 从2.0起 你也可以使用'*(private)', '*(public)'.注意当inline为true,配置'*'等同于'*(public)'. |
No. 默认是${ivy.configurations} |
refresh | true to force Ivy to resolve dynamic revision in this resolve process, false to use cached resolved revision since 2.0 true 强制ivy在这次解析过程中解析动态修订版本,false使用缓存的解析好的修订版本,从2.0起 |
No. 默认是false |
resolveMode | the resolve mode to use for this dependency resolution process since 2.0 这次依赖解析过程要使用的解析模式,从2.0起 |
No. 默认使用settings 中设置的解析模式 |
inline | true to use inline mode, false to resolve an ivy file since 1.4 true使用inline模块,false解析ivy文件,从1.4起 |
No. 默认为false |
keep | true
to keep the results of the resolve in memory, false to discard them.
When this is false, the standard ivy properties won't be set and other
postresolve-tasks (like retrieve and cachepath) won't be able to resuse
the results of this resolve! true在内存中保持这次的解析的结果,false 抛弃他们。当这个是false时,标准ivy属性不会设置而且其他post-resolve任务(类似retrieve和cachepath)将不能重用这次解析的结果! |
No. 对于inline模式默认是false,其他情况默认为true |
organisation | the organisation of the module to resolve in inline mode since 1.4 在inline模式下用于解析的模块的组织名,从1.4起 |
Yes 在inline模式下必须,其他不是 |
module | the name of the module to resolve in inline mode since 1.4 在inline模式下用于解析的模块的名称,从1.4起 |
Yes 在inline模式下必须,其他不是 |
revision | the revision constraint to apply to the module to resolve in inline mode since 1.4 在inline模式下适用于要解析的模块的修订版本约束,从1.4起 |
No. 在inline模式下默认为 "latest.integration",在标准模式下不设置 |
branch | the name of the branch to resolve in inline mode (since 2.1.0) 在inline模式下用于解析的分支的名字(从2.1.0起) |
在inline模式下默认为没有分支,标准模式下没有意义 |
type | comma separated list of accepted artifact types (since 1.2
) 逗号分隔的可以接受的制品类型列表(从1.2起) |
No. 默认为${ivy.resolve.default.type.filter} |
haltonfailure | true to halt the build on ivy failure, false to continue true 在ivy失败时挂起整个构建,false 继续 |
No. 默认为true |
failureproperty | the name of the property to set if the resolve failed since 1.4 在解析失败失败时设置的属性名称,从1.4起 |
No. 默认没有属性被设置 |
transitive | true to resolve dependencies transitively, false otherwise since 1.4 true解析间接依赖,false 不解析,从1.4起 |
No. 默认为true |
showprogress | true to show dots while downloading, false otherwise true在下载过程中显示点,false不显示 |
No. 默认为true |
validate | true to force ivy files validation against ivy.xsd, false to force no validation true强制对ivy文件用ivy.xsd验证,false强制不验证。 |
No. 默认为ivy的默认值(在配置文件中配置) |
settingsRef | A reference to the ivy settings that must be used by this task (since 2.0) 必须在这次任务中使用的ivy设置的引用(从2.0起) |
No, 默认使用'ivy.instance' |
resolveId | 后面可以用来引用这次解析的结果的id | No, 默认为'[org]-[module]'. |
log | 在解析过程中使用的日志设置(从2.0起) 可使用的选项是:
|
No, 默认为'default'. |
checkIfChanged | When set to true, the resolve will compare the result with the last resolution done on this module, with those configurations 当设置为true时,解析将比较这次的结果和这个模块的最后一次解析,使用那些配置 |
No, 默认为'true' |
6) 示例
解析在path/to/ivy.xml文件中声明的所有依赖。
和上面相同,但是不解析间接依赖。
解析在path/to/ivy.xml文件配置default和test中声明的依赖。
解析在path/to/ivy.xml文件中声明的所有依赖,但是只下载jar制品。
从仓库中解析commons-lang模块的2+修订版本,和它的依赖。
发表评论
-
搜索maven依赖的网站推荐
2011-12-02 16:04 4320使用maven填写依赖的时候,常会遇到需要查一下gro ... -
hudson中subversion HEAD check out 的问题及疑惑
2010-09-30 10:56 40近期发现一个问题,hudson执行任务时,经常不能获取 ... -
你走你的阳光道,我走我的独木桥:整合ant ivy 和testng
2010-05-31 16:11 2078近期自己折腾自己,放着正统的maven + jun ... -
slf4j1.6.0-RC0和logback的0.9.20版本不兼容
2010-04-26 08:54 3514今天,尝试使用slf4j + logback的黄金组合,结果发 ... -
fisheye2.2.1 & Crucible 2.2.1 安装配置笔记
2010-04-27 16:48 31871) 下载 从atlassian网站 ... -
让ivy支持maven的classifier属性
2009-10-15 01:56 3186在maven中,对于一个依赖,除了groupId,ar ... -
ivy教程(1)-目录
2009-09-21 23:57 2953学习的最佳方式是实践!这是ivy教程将帮助你做到的 ... -
ivy教程(2)-快速开始
2009-09-22 11:48 3061在这个例子中,我们将看到使用ivy的一个最简单的方 ... -
ivy教程(3)-调整默认设置
2009-09-24 20:58 2362ivy绑定一些默认 ... -
ivy教程(4)-多解析器
2009-09-25 15:28 1803这个例子演示模块是如何被多解析器获得的。使用多解析 ... -
ivy教程(5)-双重解析器
2009-09-27 20:58 1723在一些情况下,会发生这样的事情:你的模块描述符(ivy ... -
ivy教程(6)-项目依赖
2009-09-29 23:32 3007这个示例将举例说明在两个项目之间的依赖。 depen ... -
ivy教程(7)-在多项目环境下使用ivy
2009-10-03 11:48 2370在上一个教程中,你已 ... -
ivy教程(8)-使用ivy模块配置
2009-10-04 10:15 2670这个教程介绍ivy文件中的模块配置的使用。ivy模块配置事实上 ... -
ivy教程(9)-架设仓库(1)-介绍
2009-10-04 13:42 1856install任务让你从一个仓库复制一个模块或者模 ... -
ivy教程(10)-架设仓库(2)-基础仓库复制
2009-10-04 15:04 3056在这个步骤中我们使用install任务来从mave ... -
ivy教程(11)-架设仓库(3)-使用命名空间
2009-10-09 21:04 2261现在你已经看到从一个已经存在的仓库创建你自己的仓库是如何的简单 ... -
ivy教程(12)-更多例子
2009-10-09 21:29 1819如果你已经成功的跟随并理解了所有的教程,可能你还是需要得到更好 ... -
ivy中文参考文档(21)-ant任务(9)-post resolve tasks
2009-09-15 14:17 14691) post resolve tasks ... -
ivy中文参考文档(20)-ant任务(8)-cachefileset
2009-09-03 23:11 13941) cachefileset 为配置构建一个有iv ...
相关推荐
weight: 2, // 设置线条宽度 dashArray: '10,10', // 设置虚线样式 smoothFactor: 1 // 平滑因子,用于控制动画效果 }).addTo(map); // 模拟动态移动 setInterval(function() { line.setLatLngs(line....
Maven Ant Tasks 是一个由 Maven 项目提供的库,它允许 Ant 构建脚本与 Maven 交互,实现 Ant 任务中的 Maven 功能,如编译、测试、打包等。在 Maven Ant Tasks 2.1.3 版本中,包含了主要的 jar 包 `maven-ant-tasks...
- 添加了新的任务和条件,比如`ivy:resolve`用于集成Ivy依赖管理,以及`failonerror`属性控制任务失败时的行为。 - 提升了性能,减少了内存消耗,提高了构建速度。 - 修复了大量的bug,提高了整体稳定性。 在实际...
在"apache-ivy-2-5-0.rar"这个压缩包中,包含了Apache Ivy 2.5.0版本的所有组件和文档。 Ivy的核心概念是依赖解析,它允许开发者声明项目所依赖的库,并自动下载这些库及其依赖,避免了手动管理JAR文件的繁琐工作。...
Apache Ant 是一个开源的构建工具,它主要用于Java项目构建、自动化任务执行,如编译、打包、测试和部署。在Java开发中,Ant以其XML格式的构建文件(build.xml)著称,允许开发者定义项目构建的步骤和依赖关系。...
在Ant构建脚本中,你可以使用`<ivy:resolve>`任务来解析依赖,`<ivy:retrieve>`任务来将依赖下载到本地文件系统。 Apache Ivy的特性包括: - 支持多种依赖管理协议,如Maven 2.x的POM,或者Ivy自己的XML格式。 - ...
一旦Ant安装完毕,就可以在Ant的构建文件(build.xml)中引入Ivy,通过以下方式声明Ivy任务: ```xml <typedef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="/usr/...
标签:bouncycastle、bctsp、jdk14、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
2. **路径解析**:在处理`@import`时,库会根据当前工作目录和指定的根目录来解析相对路径。这使得在不同环境中(例如开发和生产)保持一致性成为可能。 3. **合并**:解析后的CSS文件会被合并成一个单一的CSS流,...
在前端开发领域,开源库是开发者们不可或缺的资源,它们提供了丰富的功能,简化了复杂的任务。"resolve-bower"就是这样一款专为前端开发者设计的开源库,它专注于处理与Bower相关的文件解析工作。Bower是一款流行的...
Ivy学习使用文档 Ivy 是一种基于 Apache Ant 的依赖管理工具,用于管理项目中的依赖项和库文件。下面是对 Ivy 学习使用文档的详细解释和知识点总结。 Ivy 基础知识 Ivy 是一个开源的依赖管理工具,基于 Apache ...
包含翻译后的API文档:frocksdbjni-5.17.2-artisans-2.0-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.data-artisans:frocksdbjni:5.17.2-artisans-2.0; 标签:data、frocksdbjni、artisans、jar包、java、...
vite-plugin-resolve-externals vite插件解析外部 用法 安装 npm i -D vite-plugin-resolve-externals 通过参数传输使用支持设置,还支持在解析中配置外部项目 // vite.config.js const resolveExternalsPlugin = ...
标签:commons、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
标签:apache、commons、pool2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
包含翻译后的API文档:byte-buddy-1.11.22-javadoc-API文档-中文(简体)版.zip; Maven坐标:net.bytebuddy:byte-buddy:1.11.22; 标签:bytebuddy、byte、buddy、jar包、java、中文文档; 使用方法:解压翻译后的API...
然后,你可以在Ant构建文件(`build.xml`)中引用Ivy任务,例如`<ivy:resolve>`用于下载依赖,`<ivy:cachepath>`将依赖添加到类路径,以及`<ivy:publish>`用于发布你的项目到仓库。 总结一下,Apache Ivy 2.4.0是...
2. **处理URL**:找到`@import`后,库会根据当前工作目录和提供的配置,解析出每个导入的URL,确保它们是绝对路径或者相对于主CSS文件的相对路径。 3. **替换`@import`**:解析后的URL会被替换掉原来的`@import`规则...
包含翻译后的API文档:opencv-4.5.5-1.5.7-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.bytedeco:opencv:4.5.5-1.5.7; 标签:bytedeco、opencv、中英对照文档、jar包、java; 使用方法:解压翻译...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装