1

我们通过常春藤管理我们的罐子。我们的项目依赖于 ivy 为我们处理的 Common.jar。这一切都很好,可以将最新的 jar 从存储库拉到本地存储库。

但是,我们的团队希望在提交之前对 Common.jar 进行更改并针对项目进行测试。我想将 Common.jar 添加到我们的本地类路径中,这实际上将覆盖本地存储库中的 ivy 依赖项。

这里最好的方法是什么?我应该将 Common.jar 添加到 lib 目录并添加到构建路径吗?

4

2 回答 2

0

我认为您希望您的本地解析器处于“强制模式”。在 ivysettings.xml 中的本地解析器上设置 force="true"。

强制模式的描述见:http: //ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html

(参考:常春藤:强制本地快照依赖

于 2013-02-05T22:12:23.997 回答
0

使用配置来区分您的依赖项

<configurations>
   <conf name="common" description="Used for common jar"/>
   <conf name="others" description="Other 3rd party dependencies"/>
   <conf name="norm" extends="common,others" description="Normal complete list of dependencies"/>
</configurations>

<dependencies>
   <dependency ... module="common" ... conf="common->default"/>

   <dependency ... conf="others->default"/>
   <dependency ... conf="others->default"/>
</dependencies>

请注意如何使用“扩展”属性来创建依赖项的联合集。然后,您可以在构建中创建其内容由 ivy 控制的类路径

<ivy:cachepath pathid="others.path" conf="others"/>
<ivy:cachepath pathid="norm.path"   conf="norm"/>

第一个路径用于针对本地构建的 common.jar 进行测试。第二个路径将另外包含从您的存储库中检索到的公共 jar。

于 2013-02-06T00:20:59.890 回答