ivy中文参考文档(9)-设置文件
2009-09-22 00:00:00 来源:WEB开发网1) 设置文件
为了如您所想的工作,ivy有时需要一些设置。实际上,ivy可以在完全没有任何特殊设置的情况下工作,查阅默认设置文档来获取相关的更详尽的信息。但是ivy有能力在完全不同的上下文下工作。你只需要正确的配置它。
设置通过xml文件来指定,通常命名为called ivysettings.xml。为了在ant中配置ivy,你只需要用你的设置文件的路径来使用配置数据类型。
这里有一个设置文件的例子:
<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) 设置文件结构
设置文件由许多部分组成,其他的保持开放。实际上每个解析器都有自己的结构,因此不是设置文件自身定义解析器的结构。
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 |
更多精彩
赞助商链接