答案 0 :(得分:3)
我不知道设计的原因,但我已经看到它在以下情况中使用过:
junit
作为编译时依赖项,因此JUnit代码泄漏到我的生产代码中。log4j
的库。由于我使用slf4j
,我使用依赖项排除来删除硬连线日志框架并使用slf4j-log4j
网桥,因此我最终可以登录到logback
。一般规则:
如果没有适用的规则,请单独依赖;可能的是,直接的依赖性可能会随着时间的推移而发生变化,而且突然之间,它需要一些看起来多余的依赖,而你的代码会意外地破坏。
答案 1 :(得分:3)
除了亚伦的回答:
当依赖项的提供程序出错时(或者没有将依赖项置于可能的位置,包括实际的日志记录后端 - 与api相反 - 或使用了错误的范围)时,通常需要排除。
一个例外是日志框架。请参阅Aaron的答案。
所以不,如果您有特殊原因要排除它们,请仅排除依赖项。