【发布时间】:2014-07-18 04:00:05
【问题描述】:
我们的项目就像一个适配器/外观接口,用于大量不同的其他库。依赖关系以某种方式重叠,有时会发生冲突,有时甚至会因为错误版本的依赖项提供相同接口的错误行为而使项目静默中断。 我们使用 Ivy 和 Ant 来做基本的依赖管理。 管理依赖关系和及早检测错误行为的最佳做法是什么?
【问题讨论】:
-
其他库是你写的还是第三方的?
-
当你有冲突的版本,并且版本控制是由传递依赖管理系统提供的,你有点陷入困境和困难的地方,可能需要做一些依赖树之类的事情(我不知道如何用 Ivy 做到这一点)并开始手动找出冲突。即使使用 Maven,您也必须手动执行操作,尽管它可以告诉您为什么由于冲突而省略了库,例如maven.apache.org/plugins/maven-dependency-plugin/examples/…
-
@DaveSchweisguth 它们主要是我们自己的库,但由不同团队甚至跨团队管理。
-
如果您的内部库为接口提供“错误行为”,或者静默失败,则没有任何依赖管理系统能够对此做很多事情。
-
@Dmitri 这是由于提供的版本错误。我正在为此寻找一些指导方针。我知道没有任何系统可以单独做到这一点...... :(
标签: java ivy dependency-management