我想使用url解析器下载取决于.依赖是JS或XML文件.所以,我用过:
Run Code Online (Sandbox Code Playgroud)<url name="urlresolver"> <artifact pattern="http://[organisation]/[module]-[revision].[ext]" /> </url>
和
Run Code Online (Sandbox Code Playgroud)<ivy:retrieve pattern="${build}/[module]-[revision].[ext]"/>
该文件以.jar扩展名保存.
值得深入研究以下常春藤文档:
第一个问题是你的url解析器没有配置为读取远程模块的常春藤文件(忽略了常春藤最佳实践中的第一个建议,即在每个模块中使用常春藤文件).没有模块元数据,常春藤会假设您正在尝试下载JAR文件.
第二个问题是您似乎没有使用常春藤存储库来存储您的文件.以下依赖声明:
<dependency org="yourorg" name="module1" rev="9.1"/>
Run Code Online (Sandbox Code Playgroud)
将使用您当前的设置转换为以下网址:
http://yourorg/module1-9.1.jar
Run Code Online (Sandbox Code Playgroud)
"组织"字段用于指定发布模块的组织单位,而不是服务器主机名.
我怀疑你真的不想建立一个文件存储库,只是想说服常春藤下载和缓存文件?在这种情况下,我建议阅读以下答案,该答案使用依赖项工件上的额外属性来执行类似的操作:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
..
..
<dependency org="yourorg" name="yourmodule1" rev="9.1">
<artifact name="file1" e:hostname="www.server1.com" type="xml"/>
<artifact name="file2" e:hostname="www.server1.com" type="xml"/>
</dependency>
<dependency org="yourorg" name="yourmodule2" rev="9.1">
<artifact name="file3" e:hostname="www.server2.com" type="xml"/>
<artifact name="file4" e:hostname="www.server2.com" type="xml"/>
</dependency>
..
Run Code Online (Sandbox Code Playgroud)
注意:
..
<url name="urlresolver">
<artifact pattern="http://[hostname]/files/[organisation]/[module]-[revision].[ext]" />
</url>
..
Run Code Online (Sandbox Code Playgroud)
演示解析器如何使用标准属性和自定义"主机名".
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |