如何使用 ivy api 以编程方式为缓存中的模块构建路径?

Posted

技术标签:

【中文标题】如何使用 ivy api 以编程方式为缓存中的模块构建路径?【英文标题】:How to programmatically build a path for a module in the cache using ivy api? 【发布时间】:2015-09-10 21:05:01 【问题描述】:

我想按照ivy official documentation 中的描述以编程方式执行从缓存构建路径(即不使用ant 或命令行工具)。

不幸的是,ivy API 中没有指向相应类的指针可以帮助实现这一目标。

有没有我可以学习的代码示例?

【问题讨论】:

【参考方案1】:

一个起点是从 ivy 本身的 Main.java 中读取数据,看看 cachepath 操作在 Ivy 的代码中是怎样的 performed。

也看到输出的样本,运行

java -jar ivy-2.4.0.jar -dependency commons-logging commons-logging 1.1 -cachepath file.txt

文件file.txt 持有:

/home/cran/.ivy2/cache/commons-logging/commons-logging/sources/commons-logging-1.1-sources.jar:/home/cran/.ivy2/cache/commons-logging/commons-logging/j
ars/commons-logging-1.1.jar:/home/cran/.ivy2/cache/log4j/log4j/jars/log4j-1.2.12.jar:/home/cran/.ivy2/cache/logkit/logkit/jars/logkit-1.0.1.jar:/home/c
ran/.ivy2/cache/avalon-framework/avalon-framework/jars/avalon-framework-4.1.3.jar:/home/cran/.ivy2/cache/javax.servlet/servlet-api/jars/servlet-api-2.3
.jar

【讨论】:

以上是关于如何使用 ivy api 以编程方式为缓存中的模块构建路径?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ivy API 获取最新版本的依赖项?

如何以编程方式清除 MSIE/WinInet 缓存?

SBT 如何为特定的 groupid 禁用 Ivy 缓存

有没有办法以编程方式清除所有缓存文件?

我们可以通过编程方式缓存谷歌地图吗?

如何使用谷歌联系人api以编程方式将手机联系人同步到android中的gmail