`
liu_swei
  • 浏览: 50464 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ivy研究

阅读更多

由于springsource的源码是有ant管理的且用到了ivy的相关知识,就简单查了下ivy的资料

 

ivy是如何工作的

 

不同位置下模块的通常周期

 

安装ivy

    下载之后在任何你想的地方解开下载的zip文件,并复制ivy的jar文件到你的ant的lib目录(ANT_HOME/lib).

    如果你使用ant 1.6.0或者更高,你可以简单的到src/example/hello-ivy 目录并运行ant: 如果构建成功,你就成功的安装了ivy!
    此处需要说明的是:如果你使用代理上网,则需对ant进行配置:

set ANT_OPTS=-Dhttp.proxyHost=代理ip -Dhttp.proxyPort=端口

例如:set ANT_OPTS=-Dhttp.proxyHost=192.168.2.20 -Dhttp.proxyPort=80

 

设置ivy

    设置主要分:设置ivysettings.xml、设置设置文件结构、ivysettings
1.
设置ivysettings.xml

     为了在ant中配置ivy,你只需要用你的设置文件的路径来使用配置数据类型。

这里有一个设置文件的例子:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->< ivysettings >
        
< properties  file ="${ivy.settings.dir}/ivysettings-file.properties"   />
        
< settings  defaultCache ="${cache.dir}"  defaultResolver ="ibiblio"  checkUpToDate ="false"   />
        
< resolvers >
                
< ibiblio  name ="ibiblio"   />
                
< filesystem  name ="internal" >
                     < ivy  pattern ="${repository.dir}/[module]/ivy-[revision].xml"   />
                    
< artifact  pattern ="${repository.dir}/[module]/[artifact]-[revision].[ext]"   />
                
</ filesystem >
        
</ resolvers >
        
< modules >
                
< module  organisation ="jayasoft"  name =".*"  resolver ="internal"   />
        
</ modules >
</ ivysettings >

 

大体上,设置文件能够配置ivy使用的默认缓存目录和用来解析依赖的依赖解析器。

    注意:为了能够工作,这个设置文件需要一个和设置文件在同一个目录下的名为ivysettings-file.properties的属性文件,里面有需要的ivy变量。

    在设置文件中有一些很有用的变量:

    ivy.settings.dir
    这个变量涉及到ivy设置自身所在的目录。如果设置被作为一个文件装载这个变量可用。如果是一个url,取url最后一个斜线"/"前面的部分。如果url没有斜线"/",那么这个变量不会被设置。

    ivy.settings.file
    设置文件自身的路径,只有在被作为文件装载时。如果设置文件在作为一个url装载,则这个变量不会被设置。

    ivy.settings.url
    指向设置文件的url。当设置文件被作为文件或者url装载时都将会设置。

    ivy1.4版本后,主要所有的java系统属性都可以作为ivy变量在设置文件中可用。

2. 设置文件结构

    设置文件由许多部分组成,其他的保持开放。实际上每个解析器都有自己的结构,因此不是设置文件自身定义解析器的结构。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->ivysettings
    property
    properties
    settings
    include
    classpath
    typedef
    credentials
    lock-strategies
    caches
        cache
    latest-strategies
    version-matchers
    triggers
    parsers
    conflict-managers
    outputters
    namespaces
        namespace
            rule
                fromsystem
                    src
                    dest
                tosystem
                    src
                    dest
    macrodef
        attribute
        any resolver
    resolvers
        any resolver
    modules
        module
    statuses
        status



3. ivysettings

    标签: ivysettings

    每个设置文件的root标签。
    子元素

元素 描述 基数
property  设置ivy变量 0..n
properties  装载一个属性文件作为ivy变量 0..n
settings  使用一些默认来配置ivy 0..1
include  包含一些其他的设置文件
0..n
classpath  在classpath中增加一个位置用于装载插件
0..n
typedef  在ivy中定义新的类型 0..n
lock-strategies  定义锁策略
0..1
caches  定义仓库缓存管理器
0..1
latest-strategies  定义最新策略
0..1
parsers  定义模块描述符解析器
0..1
version-matchers  定义新版本匹配器
0..1
triggers  注册ivy事件的触发器
0..1
namespaces  定义新的命名空间
0..1
macrodef  定义新的宏解析器
0..n
resolvers  定义依赖解析器
0..1
conflict-managers  定义冲突管理器
0..1
modules  定义模块和依赖解析器之间的规则
0..1
outputters  定义可用的报告输出器列表
0..1
statuses  定义可用状态列表
0..1

后续补充。。。

 

 

分享到:
评论

相关推荐

    Poison Ivy 2.3.2 win7

    Poison Ivy 2.3.2版本,包含win7编译器。...已经过测试,确保可用。目前发现的问题:Poison Ivy在win...:本程序仅为了进行shellcode技术研究而分享,严禁用于任何非法用途!如果违反该警告,任何后果自行承担与本人无关。

    ivy:IVy 是一种研究工具,旨在允许协议及其正确性证明的交互式开发,并为开发和试验自动化证明技术提供平台。 特别是,IVy 提供了自动化证明的交互式可视化,并支持人类协议设计者和自动化工具交互以暴露错误并证明正确性的使用模型

    IVy 是一种研究工具,旨在允许协议及其正确性证明的交互式开发,并为开发和试验自动化证明技术提供平台。 特别是,IVy 提供了自动化证明的交互式可视化,并支持人类协议设计者和自动化工具交互以暴露错误并证明正确...

    gym:用Ivy编写的完全可区分的强化学习环境

    通过以完全可区分的方式实施RL环境,Ivy Gym为监督学习(SL),强化学习(RL)和轨迹优化(TO)之间的交叉研究打开了大门。 具体来说,Ivy Gym提供了与OpenAI Gym不同的经典控制任务实现,以及新的Swimmer任务,该...

    麻省理工算法导论书籍以及视频下载地址

    MIT无论是在美国还是全世界都有非常重要的影响力,培养了众多对世界产生重大影响的人士,是全球高科技和高等研究的先驱领导大学。麻省理工学院的自然及工程科学在世界上享有极佳的声誉,其管理学、经济学、哲学、...

    多核处理器:概念和实现-研究论文

    本研究论文旨在比较两款多核处理器机器,英特尔酷睿 i7-4960X 处理器(Ivy Bridge E)和 AMD Phenom II X6。 它首先引入单核处理器机器来激发对多核处理器的需求。 然后,它解释了多核处理器机器以及在实现它们时...

    gradle-multi-project-example:Gradle多项目管理范例

    这个项目用于学习研究Gradle的一个测试用例,扔掉也可惜,所以修改了一下放在这儿,如果能对别人有所帮助的话也算是好事一件。 为什么用Gradle 主要还是审美需求。 之前一直用Ant来写很多task做项目管理,配合ivy做...

    教育和科技创业-研究论文

    美国科技企业家的流行形象是他们来自精英大学:一些毕业并在他们的车库里创办公司; 其他人则从大学辍学开始他们的商业生涯。 互联网热潮强化了技术 CEO 年轻而傲慢的形象。 但是,即使比尔盖茨和史蒂夫乔布斯创立了...

    karibu-tutorial:欢迎教程

    它是为从智能手机应用程序和固定传感器收集环境数据而开发的,目前用作奥尔胡斯大学计算机科学正在进行的几个研究项目的Struts。 Karibu 由一个可以部署在支持 Java 的设备(例如 Android 手机)上的客户端库和一个...

    papis.el:纸巾的Emacs软件包

    有一个`papis-ivy`函数可以打开,等等,还有组织模式链接。 在某个时候它将被记录下来…… 执行 papis.el是作为一个识字程序编写的。 共性 我们通过papis的json导出器与papis进行交互。 我们使用org-links直接从...

    A tutorial on modeling and analysis of dynamic social networks

    本教程的目的是突出控制理论的一个新章节,处理社会系统的应用,引起广泛的研究界的注意。本文是本教程的第一部分,它集中于社会动力学的最基本的模型,以及它们与多智能体系统的最新成就的关系。

    基于SSM的酒店系统.zip

    系统开发者:对SSM框架有研究兴趣,希望在实际项目中应用的开发者。 计算机专业学生:作为学习Java EE企业级应用开发的实践案例。 使用场景及目标 提高运营效率:通过自动化工具减少手工操作,提升酒店服务响应速度...

    MySQL 事务(五).pdf

    案例研究:通过实际案例分析,展示事务在复杂查询中的应用。 适用人群 数据库管理员:需要深入理解MySQL事务管理以维护数据完整性。 后端开发者:在应用开发中需要执行事务操作以保证数据一致性。 数据分析师:在...

    MySQL多表查询(四).pdf

    案例研究:通过实际案例分析,展示多表查询的应用。 适用人群 数据库管理员:需要优化多表查询以提升数据库性能。 后端开发者:在应用开发中需要执行复杂的多表查询。 数据分析师:需要从多个数据源汇总和分析数据。...

Global site tag (gtag.js) - Google Analytics