【发布时间】:2012-11-07 20:26:15
【问题描述】:
我正在使用 Ivy 将我们的构建系统从 Ant 转换为 Ant,并且遇到了指定我们需要的特定 jar 的问题。
- groupId:net.sf.json-lib
- artifactId:json-lib
- 版本:2.3
我在 Ivy 中将其指定为:
<dependency org="net.sf.json-lib" artifact="json-lib"
rev="2.3" conf="compile->default"/>
并得到以下错误:
[ivy:retrieve] ==== public: tried
[ivy:retrieve] http://buildl01.tcprod.local/artifactory/libs-release/net/sf/json-lib/json-lib/2.3/json-lib-2.3.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: FAILED DOWNLOADS ::
[ivy:retrieve] :: ^ see resolution messages for details ^ ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: net.sf.json-lib#json-lib;2.3!json-lib.jar
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
注意 Ivy 尝试从存储库下载文件 json-lib-2.3.jar。
我在Central Maven Repository 上进行了搜索,发现该工件不称为json-lib-2.3.jar,而是json-lib-2.3-jdk-13.jar 或json-lib-2.3-jdk-15.jar。
问题在于指定工件名称的方式。版本号出现在 jar 名称的中间。如果工件是 `json-lib-jdk-15-2.4.jar,我可以这样做:
<dependency org="net.sf.json-lib" artifact="json-lib"
rev="2.3" conf="compile->default">
<artifact name="json-lib-jdk-15"/>
</dependency>
我如何指定这个 jar 来下载?
【问题讨论】:
-
我才发现之前有人问过这个问题:stackoverflow.com/q/6942989/1374678