dependency:collect

Full name:

org.apache.maven.plugins:maven-dependency-plugin:3.9.0:collect

Description:

Goal that collects the project dependencies from the repository. This goal uses "requiresDependencyCollection" to list the groupId:artifactId:version information by downloading the pom files without downloading the actual artifacts such as jar files.

This is very useful when full dependency resolution might fail due to projects which haven't been built yet.

It is identical to resolve except for using the requiresDependencyCollection annotation attribute instead of requiresDependencyResolution.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 3.0.
  • Binds by default to the lifecycle phase: generate-sources.

Optional Parameters

Name Type Since Description
<appendOutput> boolean 2.2 Whether to append outputs into the output file or overwrite it.
Default: false
User Property: appendOutput
<classifier> String 2.0 Specify classifier to look for. Example: sources.
User Property: classifier
<excludeArtifactIds> String 2.0 Comma-separated list of artifact IDs to exclude.
User Property: excludeArtifactIds
<excludeClassifiers> String 2.0 Comma-separated list of Classifiers to exclude. Empty String indicates don't exclude anything (default).
User Property: excludeClassifiers
<excludeGroupIds> String 2.0 Comma-separated list of group IDs to exclude.
User Property: excludeGroupIds
<excludeScope> String 2.0 Scope threshold to exclude, if no value is defined for include. An empty string indicates no dependencies (default). Unlike the other exclusion parameters, this property does not support a comma-delimited list of scope exclusions. Just one scope may be excluded at a time.
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
  • runtime exclude scope excludes runtime and compile dependencies,
  • compile exclude scope excludes compile, provided, and system dependencies,
  • test exclude scope excludes all dependencies, then not really a legitimate option: it will fail, you probably meant to configure includeScope = compile
  • provided exclude scope just excludes provided dependencies,
  • system exclude scope just excludes system dependencies.

User Property: excludeScope
<excludeTransitive> boolean 2.0 If we should exclude transitive dependencies.
Default: false
User Property: excludeTransitive
<excludeTypes> String 2.0 Comma-separated list of Types to exclude. Empty String indicates don't exclude anything (default).
User Property: excludeTypes
<includeArtifactIds> String 2.0 Comma-separated list of artifact IDs to include. Empty String indicates include everything (default).
User Property: includeArtifactIds
<includeClassifiers> String 2.0 Comma-separated list of Classifiers to include. Empty string indicates include everything (default).
User Property: includeClassifiers
<includeGroupIds> String 2.0 Comma-separated list of group IDs to include. Empty string indicates include everything (default).
User Property: includeGroupIds
<includeParents> boolean 2.8 Include parent poms in the dependency resolution list.
Default: false
User Property: includeParents
<includeScope> String 2.0 Scope threshold to include. An empty string indicates include all dependencies (default).
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
  • runtime include scope gives runtime and compile dependencies,
  • compile include scope gives compile, provided, and system dependencies,
  • test include scope gives all dependencies (equivalent to default),
  • provided include scope just gives provided dependencies,
  • system include scope just gives system dependencies.

User Property: includeScope
<includeTypes> String 2.0 Comma-separated list of Types to include. Empty String indicates include everything (default).
User Property: includeTypes
<markersDirectory> File 2.0 Directory to store flag files.
Default: ${project.build.directory}/dependency-maven-plugin-markers
User Property: markersDirectory
<outputAbsoluteArtifactFilename> boolean 2.0 Output absolute filename for resolved artifacts.
Default: false
User Property: outputAbsoluteArtifactFilename
<outputEncoding> String - No description.
Default: ${project.reporting.outputEncoding}
User Property: outputEncoding
<outputFile> File 2.0 If specified, this parameter causes the dependencies to be written to the path specified instead of the console.
User Property: outputFile
<outputScope> boolean 2.0-alpha-2 If we should display the scope when resolving.
Default: true
User Property: mdep.outputScope
<overWriteIfNewer> boolean 2.0 Overwrite artifacts that don't exist or are older than the source.
Default: true
User Property: overWriteIfNewer
<overWriteReleases> boolean 1.0 Overwrite release artifacts.
Default: false
User Property: overWriteReleases
<overWriteSnapshots> boolean 1.0 Overwrite snapshot artifacts.
Default: false
User Property: overWriteSnapshots
<prependGroupId> boolean 2.2 Prepend the group ID during copy.
Default: false
User Property: mdep.prependGroupId
<silent> boolean 2.0
Deprecated.
to be removed in 4.0; use -q command line option instead

If the plugin should be silent.
Default: false
User Property: silent
<skip> boolean 2.7 Skip plugin execution completely.
Default: false
User Property: mdep.skip
<skipDuringIncrementalBuild> boolean 3.4.0 Skip plugin execution only during incremental builds (e.g. triggered from M2E).
See also: org.apache.maven.plugins.dependency.AbstractDependencyMojo.skip
Default: false
<sort> boolean 2.8 Sort the output list of resolved artifacts alphabetically. The default ordering matches the classpath order.
Default: false
User Property: sort
<type> String 2.0 Specify type to look for when constructing artifact based on classifier. Example: java-source,jar,war.
User Property: type

Parameter Details

<appendOutput>

Whether to append outputs into the output file or overwrite it.
  • Type: boolean
  • Since: 2.2
  • Required: No
  • User Property: appendOutput
  • Default: false

<classifier>

Specify classifier to look for. Example: sources.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: classifier

<excludeArtifactIds>

Comma-separated list of artifact IDs to exclude.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeArtifactIds

<excludeClassifiers>

Comma-separated list of Classifiers to exclude. Empty String indicates don't exclude anything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeClassifiers

<excludeGroupIds>

Comma-separated list of group IDs to exclude.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeGroupIds

<excludeScope>

Scope threshold to exclude, if no value is defined for include. An empty string indicates no dependencies (default). Unlike the other exclusion parameters, this property does not support a comma-delimited list of scope exclusions. Just one scope may be excluded at a time.
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
  • runtime exclude scope excludes runtime and compile dependencies,
  • compile exclude scope excludes compile, provided, and system dependencies,
  • test exclude scope excludes all dependencies, then not really a legitimate option: it will fail, you probably meant to configure includeScope = compile
  • provided exclude scope just excludes provided dependencies,
  • system exclude scope just excludes system dependencies.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeScope

<excludeTransitive>

If we should exclude transitive dependencies.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: excludeTransitive
  • Default: false

<excludeTypes>

Comma-separated list of Types to exclude. Empty String indicates don't exclude anything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeTypes

<includeArtifactIds>

Comma-separated list of artifact IDs to include. Empty String indicates include everything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeArtifactIds

<includeClassifiers>

Comma-separated list of Classifiers to include. Empty string indicates include everything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeClassifiers

<includeGroupIds>

Comma-separated list of group IDs to include. Empty string indicates include everything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeGroupIds

<includeParents>

Include parent poms in the dependency resolution list.
  • Type: boolean
  • Since: 2.8
  • Required: No
  • User Property: includeParents
  • Default: false

<includeScope>

Scope threshold to include. An empty string indicates include all dependencies (default).
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
  • runtime include scope gives runtime and compile dependencies,
  • compile include scope gives compile, provided, and system dependencies,
  • test include scope gives all dependencies (equivalent to default),
  • provided include scope just gives provided dependencies,
  • system include scope just gives system dependencies.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeScope

<includeTypes>

Comma-separated list of Types to include. Empty String indicates include everything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeTypes

<markersDirectory>

Directory to store flag files.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • User Property: markersDirectory
  • Default: ${project.build.directory}/dependency-maven-plugin-markers

<outputAbsoluteArtifactFilename>

Output absolute filename for resolved artifacts.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: outputAbsoluteArtifactFilename
  • Default: false

<outputEncoding>

No description.
  • Type: java.lang.String
  • Required: No
  • User Property: outputEncoding
  • Default: ${project.reporting.outputEncoding}

<outputFile>

If specified, this parameter causes the dependencies to be written to the path specified instead of the console.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • User Property: outputFile

<outputScope>

If we should display the scope when resolving.
  • Type: boolean
  • Since: 2.0-alpha-2
  • Required: No
  • User Property: mdep.outputScope
  • Default: true

<overWriteIfNewer>

Overwrite artifacts that don't exist or are older than the source.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: overWriteIfNewer
  • Default: true

<overWriteReleases>

Overwrite release artifacts.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: overWriteReleases
  • Default: false

<overWriteSnapshots>

Overwrite snapshot artifacts.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: overWriteSnapshots
  • Default: false

<prependGroupId>

Prepend the group ID during copy.
  • Type: boolean
  • Since: 2.2
  • Required: No
  • User Property: mdep.prependGroupId
  • Default: false

<silent>

Deprecated.
to be removed in 4.0; use -q command line option instead

If the plugin should be silent.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: silent
  • Default: false

<skip>

Skip plugin execution completely.
  • Type: boolean
  • Since: 2.7
  • Required: No
  • User Property: mdep.skip
  • Default: false

<skipDuringIncrementalBuild>

Skip plugin execution only during incremental builds (e.g. triggered from M2E).
See also: org.apache.maven.plugins.dependency.AbstractDependencyMojo.skip
  • Type: boolean
  • Since: 3.4.0
  • Required: No
  • Default: false

<sort>

Sort the output list of resolved artifacts alphabetically. The default ordering matches the classpath order.
  • Type: boolean
  • Since: 2.8
  • Required: No
  • User Property: sort
  • Default: false

<type>

Specify type to look for when constructing artifact based on classifier. Example: java-source,jar,war.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: type