Maven依赖插件:UsedDependence与IgnoredUnusedClaredDependence

Maven依赖插件:UsedDependence与IgnoredUnusedClaredDependence,maven,maven-dependency-plugin,Maven,Maven Dependency Plugin,maven依赖插件与之间有什么区别 我有几个运行时/测试运行时依赖项,它们由 插件被声明为未使用,并希望忽略它们。这两个 参数似乎可以实现这一点 有人能澄清一下吗 它们之间的区别是什么,何时使用 注意:我在几周前也发了帖子,但没有得到任何回复。你可以看出两者之间的区别 在分析过程中,通过忽略未使用的声明依赖项,忽略某些内容,而不抛出警告(或错误,具体取决于插件配置);以及 实际上告诉Maven使用了依赖项,即使分析器无法通过usedDependencies 通过运行目标依赖项:分析报告并

maven依赖插件与
之间有什么区别

我有几个运行时/测试运行时依赖项,它们由 插件被声明为未使用,并希望忽略它们。这两个 参数似乎可以实现这一点

有人能澄清一下吗 它们之间的区别是什么,何时使用


注意:我在几周前也发了帖子,但没有得到任何回复。

你可以看出两者之间的区别

  • 在分析过程中,通过
    忽略未使用的声明依赖项,忽略某些内容,而不抛出警告(或错误,具体取决于插件配置);以及

  • 实际上告诉Maven使用了依赖项,即使分析器无法通过
    usedDependencies

通过运行目标
依赖项:分析报告
并在
目标/依赖项分析.html
中查看报告:在前一种情况下,被忽略的未使用依赖项仍将列为“已使用未声明”。在后一种情况下,依赖项不会被列出,因为您告诉Maven它实际上在您的项目中使用

你什么时候会使用这两种选择

  • 如果存在实际未使用的依赖项,但出于任何原因您希望忽略该依赖项,并且不为其发出任何警告或错误,请使用
    ignoreduneseddeclaredependencies
    。不过,报告仍会列出它,因此您最终会提醒您进行清理

  • 依赖关系分析是基于字节码进行的。因此,如果使用注释库,其中某些注释具有保留范围
    SOURCE
    ,Maven将无法检测注释的使用情况,因为注释未包含在编译的类文件中。但它们仍在被使用。在这种情况下,使用
    usedDependencies
    。因此,正确地说,所声明的已使用依赖项在分析报告中不会显示为未使用。另一个用例是通过反射加载类,而Maven依赖插件无法检测到它

这里是一个小样本聚甲醛。只需运行
mvn dependency:analyze report
,检查报告HTML,然后切换到注释掉选项,以查看差异


4.0.0
德斯克鲁姆大师
用过还是没用过
1.0-快照
UTF-8
UTF-8
1.8
1.8
maven依赖插件
3.1.2
commons集合:::
公地收藏
公地收藏
3.2

谢谢!这很有帮助。