DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

Ivy文件说明


ivy.xml文件 此文件用来定义某个模块(module)的依赖情况; 表明该文件使用的哪个版本的ivy语法; 域说明是这个xml文件定义的是哪个module的依赖; 依赖的声明方法:在http://mvnrepository.com/搜索到要用的第三方包后,点击“detail”可以看到它在ivy中如何引用(...\标签说明自己开发的项目要发布的包(一般是jar文件),可为每个包定义一个所属的配置(configuration),以便于别人使用(参见tutorial->Using Ivy Module Configurations); 可在此文件中自 定义 标签,以便于在dependency中使用,参见Ivy文档:Documentation (2.2.0) > Reference > Introduction > Main Concepts > Extra attributes; build.xml文件 只有声明了xmlns...,才能使用ivy指令(ivy ant task,如、之类); ivy指令中,install用来从公共库中下载包到企业库中,resolve用来从企业库中获取包到本地ivy缓存(cache)中,retrieve用来从本地缓存取包到本地开发环境(project workspace)中,publish将本地编译好的包放入企业库中供其他项目使用; retrieve命令在脱离Eclipse环境下使用时需要先运行resolve命令,例如Eclipse下在javac之前需要如下任务: \({lib.dir}/[artifact]-[Revision].[ext]" /> </target> 脱离Eclipse之后应写为如下形式: <target name= "resolve" depends= "init" description= "..." > <ivy:resolve file= "./ivy_file.xml" /> <ivy:retrieve pattern= "\){lib.dir}/[artifact]-[Revision].[ext]" />

ivysettings.xml文件 resolvers链是在 resolvers标签的chain子标签 中定义的,一个artifact会用这个链中的resolver依次查找; resolver的功能包括两部分:一是寻找依赖项目的ivy文件,二是寻找依赖项目的产品(artifact);resolver确定了库的位置,常见的有IBiblio resolver(从maven库中取包)、sftp resolver(企业架设共享库服务器)和FileSystem resolver(本机上的库)三种; 如果出现模块描述文件(module descriptions,如ivy文件)与产品(module artifacts,如jars)分离的情况,可在本文件中用dual标签定义各自的位置; properties标签从一个properties文件里提取值保存到变量中,这是一种灵活且方便的设置变量的方法; settings标签进行一些初始化工作,例如cache目录位置的定义、定义默认resolver等; modules标签定义哪个module使用哪个resolver(发布时有用),未提及的module使用默认resolver,使用这个标签可以为项目自制产品定义专门的resolver,例如: < modules > < module organisation = "com.boco" name = "g*" matcher = "glob" resolver = "home-made" />



Published

Oct 24, 2010

Last Updated

Oct 24, 2010

Category

Tech

Tags

  • Ivy 19
  • 文件 2

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor