我将创建一个ivysettings.xml文件,并使用caches指令指定缓存的位置:
<ivysettings>
<settings defaultResolver="central"/>
<caches defaultCacheDir="${ivy.settings.dir}/cache"/>
<resolvers>
<ibiblio name="central" m2compatible="true"/>
</resolvers>
</ivysettings>
Run Code Online (Sandbox Code Playgroud)
我认为这比在构建文件中设置属性ivy.default.ivy.user.dir更明确,并且不那么神秘.
使用此方法,可以使用ivy cleancache任务清除指定的缓存目录.
<target name="clean-all" depends="clean">
<ivy:cleancache />
</target>
Run Code Online (Sandbox Code Playgroud)
在关于 ivy 的完整书中,您可以查看“设置存储库”部分:
多个存储库在文件系统中使用相同的根。引用为
${ivy.default.ivy.user.dir},这是默认目录.ivy2。请注意,通过设置 Ivy 变量可以完成几件事。
要在不定义自己的ivysettings.xml文件的情况下设置它们,您可以:
- 如果您从 Ant 使用 Ivy,则在构建文件中对 Ivy 的任何调用之前设置 Ant 属性
- 如果您从命令行使用 Ivy,请设置环境变量
例如:
<target name="resolve">
<property name="ivy.default.ivy.user.dir" value="/path/to/ivy/user/dir"/>
<ivy:resolve />
</target>
Run Code Online (Sandbox Code Playgroud)
打包器解析器还需要配置一些设置以避免${home}:
<packager name="ivyroundup"
buildRoot="/path/to/my/.ivy2/packager/build"
resourceCache="/path/to/my/.ivy2/packager/cache"
resourceURL="ftp://mirror.example.com/pub/resources/[organisation]/[module]/">
<ivy pattern="http://ivyroundup.googlecode.com/svn/trunk/repo/modules/[organisation]/[module]/[revision]/ivy.xml"/>
<artifact pattern="http://ivyroundup.googlecode.com/svn/trunk/repo/modules/[organisation]/[module]/[revision]/packager.xml"/>
</packager>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6298 次 |
| 最近记录: |