依赖:分析

全名:

org.apache.maven.plugins:maven-dependency-plugin:3.3.0:analyze

说明:

分析此项目的依赖关系,确定哪些是:已使用和已声明;使用和未声明;未使用和声明。此目标旨在独立使用,因此它始终执行 test-compile阶段 - dependency:analyze-only在参与构建生命周期时使用目标。

默认情况下,maven-dependency-analyzer 用于执行分析,由于它在字节码级别工作而受到限制,但任何分析器都可以通过analyzer参数插入。

属性:

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖关系解析:test.
  • 目标是线程安全的并支持并行构建。
  • 自版本:2.0-alpha-3.
  • 在执行自身之前调用生命周期阶段的执行。 test-compile

可选参数

姓名 类型 自从 描述
<analyzer> String 2.2 指定要使用的项目依赖分析器(plexus 组件角色提示)。默认情况下,使用maven-dependency-analyzer 。要使用它,您必须为此插件声明一个包含分析器代码的依赖项。分析器必须具有已声明的 Plexus 角色名称,并且您在此处指定角色名称。
默认值为:default。
用户属性是:analyzer。
<failOnWarning> boolean 2.0-alpha-3 如果发现依赖警告,是否使构建失败。
默认值为:false。
用户属性是:failOnWarning。
<ignoreNonCompile> boolean 2.0-alpha-3 忽略未使用的依赖项分析的运行时/提供/测试/系统范围。Non-test scoped列表不会受到影响。
默认值为:false。
用户属性是:ignoreNonCompile。
<ignoreUnusedRuntime> boolean 2.0-alpha-3 忽略未使用的依赖项分析的运行时范围。
默认值为:false。
用户属性是:ignoreUnusedRuntime。
<ignoredDependencies> String[] 2.10 将被忽略的依赖项列表。对此列表的任何依赖都将从“已声明但未使用”、“已使用但未声明”和“非测试范围”列表中排除。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。


<ignoredNonTestScopedDependencies> String[] 3.3.0 如果它们不在测试范围内但仅在测试类中使用,则将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。


<ignoredPackagings> List 3.2.1 将被忽略的项目打包列表。
默认值为:pom, ear
<ignoredUnusedDeclaredDependencies> String[] 2.10 如果声明但未使用,则将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。


<ignoredUsedUndeclaredDependencies> String[] 2.10 如果使用但未声明,将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。


<outputXML> boolean 2.0-alpha-5 输出缺少的依赖项的 xml(使用但未声明)。
默认值为:false。
用户属性是:outputXML。
<scriptableFlag> String 2.0-alpha-5 用于可编写脚本输出的标志。
默认值为:$$$%%%。
用户属性是:scriptableFlag。
<scriptableOutput> boolean 2.0-alpha-5 为缺少的依赖项输出可编写脚本的值(使用但未声明)。
默认值为:false。
用户属性是:scriptableOutput。
<skip> boolean 2.7 完全跳过插件执行。
默认值为:false。
用户属性是:mdep.analyze.skip。
<usedDependencies> String[] 2.6 使用强制依赖项,以覆盖由字节码级分析导致的不完整结果。依赖格式为 groupId:artifactId.
<verbose> boolean 2.0-alpha-3 输出使用的依赖项。
默认值为:false。
用户属性是:verbose。

参数详情

<分析仪>

指定要使用的项目依赖分析器(plexus 组件角色提示)。默认情况下,使用maven-dependency-analyzer 。要使用它,您必须为此插件声明一个包含分析器代码的依赖项。分析器必须具有已声明的 Plexus 角色名称,并且您在此处指定角色名称。
  • 类型:java.lang.String
  • 自:2.2
  • 必需:No
  • 用户属性:analyzer
  • 默认:default

<失败警告>

如果发现依赖警告,是否使构建失败。
  • 类型:boolean
  • 自:2.0-alpha-3
  • 必需:No
  • 用户属性:failOnWarning
  • 默认:false

<忽略非编译>

忽略未使用的依赖项分析的运行时/提供/测试/系统范围。Non-test scoped列表不会受到影响。
  • 类型:boolean
  • 自:2.0-alpha-3
  • 必需:No
  • 用户属性:ignoreNonCompile
  • 默认:false

<ignoreUnusedRuntime>

忽略未使用的依赖项分析的运行时范围。
  • 类型:boolean
  • 自:2.0-alpha-3
  • 必需:No
  • 用户属性:ignoreUnusedRuntime
  • 默认:false

<ignoredDependencies>

将被忽略的依赖项列表。对此列表的任何依赖都将从“已声明但未使用”、“已使用但未声明”和“非测试范围”列表中排除。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。

  • 类型:java.lang.String[]
  • 自:2.10
  • 必需:No

<ignoredNonTestScopedDependencies>

如果它们不在测试范围内但仅在测试类中使用,则将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。

  • 类型:java.lang.String[]
  • 自:3.3.0
  • 必需:No

<忽略包装>

将被忽略的项目打包列表。
默认值为:pom, ear
  • 类型:java.util.List
  • 自:3.2.1
  • 必需:No

<ignoredUnusedDeclaredDependencies>

如果声明但未使用,则将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。

  • 类型:java.lang.String[]
  • 自:2.10
  • 必需:No

<ignoredUsedUndeclaredDependencies>

如果使用但未声明,将被忽略的依赖项列表。过滤器语法是:







[groupId]:[artifactId]:[type]:[version]
其中每个模式段都是可选的,并且支持完整和部分*通配符。空模式段被视为隐式通配符。*

例如,org.apache.*将匹配组 id 以 开头的所有工件org.apache., :::*-SNAPSHOT并将匹配所有快照工件。

  • 类型:java.lang.String[]
  • 自:2.10
  • 必需:No

<输出XML>

输出缺少的依赖项的 xml(使用但未声明)。
  • 类型:boolean
  • 自:2.0-alpha-5
  • 必需:No
  • 用户属性:outputXML
  • 默认:false

<scriptableFlag>

用于可编写脚本输出的标志。
  • 类型:java.lang.String
  • 自:2.0-alpha-5
  • 必需:No
  • 用户属性:scriptableFlag
  • 默认:$$$%%%

<脚本输出>

为缺少的依赖项输出可编写脚本的值(使用但未声明)。
  • 类型:boolean
  • 自:2.0-alpha-5
  • 必需:No
  • 用户属性:scriptableOutput
  • 默认:false

<跳过>

完全跳过插件执行。
  • 类型:boolean
  • 自:2.7
  • 必需:No
  • 用户属性:mdep.analyze.skip
  • 默认:false

<使用的依赖项>

使用强制依赖项,以覆盖由字节码级分析导致的不完整结果。依赖格式为 groupId:artifactId.
  • 类型:java.lang.String[]
  • 自:2.6
  • 必需:No

<详细>

输出使用的依赖项。
  • 类型:boolean
  • 自:2.0-alpha-3
  • 必需:No
  • 用户属性:verbose
  • 默认:false