【发布时间】:2015-06-08 05:52:28
【问题描述】:
我正在尝试使用Qulice 代码质量控制工具。
当我在我的项目上运行 qulice:check 时,我收到以下错误:
[WARNING] Found duplicate and different classes in [junit:junit:4.8.2,org.mockito:mockito-all:1.9.5] :
[WARNING] org.hamcrest.BaseDescription
[WARNING] org.hamcrest.BaseMatcher
[WARNING] org.hamcrest.CoreMatchers
[WARNING] org.hamcrest.Description
[WARNING] org.hamcrest.Factory
[WARNING] org.hamcrest.Matcher
[WARNING] org.hamcrest.SelfDescribing
[WARNING] org.hamcrest.StringDescription
[WARNING] org.hamcrest.core.AllOf
[WARNING] org.hamcrest.core.AnyOf
[WARNING] org.hamcrest.core.DescribedAs
[WARNING] org.hamcrest.core.Is
[WARNING] org.hamcrest.core.IsAnything
[WARNING] org.hamcrest.core.IsEqual
[WARNING] org.hamcrest.core.IsInstanceOf
[WARNING] org.hamcrest.core.IsNot
[WARNING] org.hamcrest.core.IsNull
[WARNING] org.hamcrest.core.IsSame
[WARNING] org.hamcrest.internal.ArrayIterator
[WARNING] org.hamcrest.internal.SelfDescribingValue
[WARNING] org.hamcrest.internal.SelfDescribingValueIterator
我尝试禁用这些检查,但根据Qulice GitHub,此功能尚未实现。
我可以做些什么来消除这些错误?
【问题讨论】:
-
我不知道 Qulice - 但您在这里向我们展示的内容看起来像是警告 - 而不是错误。此外,当警告指出“重复”类在 junit 和 mockito 中时,我不知道排除
org.hamcrest:hamcrest-core应该如何提供帮助。 -
我依赖于 JUnit 和 Mockito。假设它们都依赖于
org.hamcrest:hamcrest-core。现在org.hamcrest:hamcrest-core包含两次(一次用于 JUnit,一次用于 Mockito)。如果我将org.hamcrest:hamcrest-core排除在 JUnit 的依赖项中(但不包含在 Mockito 的依赖项中),它将仅包含一个并且理论上可以防止警告。 -
stackoverflow.com/questions/30680798/… 看着这个。我假设这些罐子也在测试范围内吗?
-
@HimanshuBhardwaj 这是一个不同的警告(由不同的插件生成),我通过排除一些依赖项来修复它。正如问题文本中已经说过的那样,排除 Hamcrest 依赖项并不能解决这些警告。