我正在使用maven-dependency-plugin:3.1.1:analyze-only
来控制我的依赖关系。我们有一个全公司范围内的父POM,它在dependencyManagement
中定义了可能的依赖关系,并且在每个Maven范围中都有依赖关系。
此外,我在插件上将<outputXML>
配置为true
,因为只需将丢失的依赖项从插件的报告复制/粘贴到POM即可。
因此,对于通用工具类(范围util-foobar
),我们有一个compile
项目;对于仅用于测试的工具类,我们有一个util-baz-test
(范围test
)
现在,如果我在主要来源中使用util-foobar
中的类,则一切正常,相关性分析是正确的。在测试源中使用util-baz-text
时也是如此。
但是,如果在测试源中仅使用util-foobar
中的一个类,则该插件将向我显示由于<outputXML>
而丢失的依赖项。它将告诉我,我需要添加具有范围util-foobar
的{{1}}而不是范围compile
。看来该插件仅在考虑依赖管理中的作用域,而不在查看需要test
的类在源文件夹中的位置。
我做错了还是插件按设计工作?