使用本地更改的jar而不是常春藤管理jar

时间:2013-02-05 02:23:04

标签: maven ivy

我们通过常春藤管理我们的罐子。我们的项目依赖于常春藤为我们处理的Common.jar。这一切都很棒,并将最新的jar从存储库中提取到本地存储库。

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

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

2 个答案:

答案 0 :(得分:0)

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

请参阅强制模式说明:http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html

(参考:Ivy: Forcing local snapshot for dependency

答案 1 :(得分: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>

请注意“extends”属性如何用于创建依赖关系的联合集。然后,您可以在构建中创建其内容由ivy

控制的类路径
<ivy:cachepath pathid="others.path" conf="others"/>
<ivy:cachepath pathid="norm.path"   conf="norm"/>

第一条路径用于针对本地构建的common.jar进行测试。第二个路径还将包含从您的仓库中检索到的常见jar。