dependency:unpack-dependencies

Full name:

org.apache.maven.plugins:maven-dependency-plugin:3.1.1:unpack-dependencies

Description:

Goal that unpacks the project dependencies from the repository to a defined location.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • Since version: 1.0.
  • Binds by default to the lifecycle phase: process-sources.

Optional Parameters

Name Type Since Description
<classifier> String 2.0 Specify classifier to look for. Example: sources
User property is: classifier.
<encoding> String 3.0 Encoding of artifacts.
User property is: mdep.unpack.encoding.
<excludeArtifactIds> String 2.0 Comma separated list of Artifact names to exclude.
User property is: excludeArtifactIds.
<excludeClassifiers> String 2.0 Comma Separated list of Classifiers to exclude. Empty String indicates don't exclude anything (default).
User property is: excludeClassifiers.
<excludeGroupIds> String 2.0 Comma separated list of GroupId Names to exclude.
User property is: excludeGroupIds.
<excludeScope> String 2.0 Scope to exclude. An Empty string indicates no scopes (default).
User property is: excludeScope.
<excludeTransitive> boolean 2.0 If we should exclude transitive dependencies
Default value is: false.
User property is: excludeTransitive.
<excludeTypes> String 2.0 Comma Separated list of Types to exclude. Empty String indicates don't exclude anything (default).
User property is: excludeTypes.
<excludes> String 2.0 A comma separated list of file patterns to exclude when unpacking the artifact. i.e. **/*.xml,**/*.properties NOTE: Excludes patterns override the includes. (component code = return isIncluded( name ) AND !isExcluded( name );)
User property is: mdep.unpack.excludes.
<failOnMissingClassifierArtifact> boolean 2.0-alpha-2 This only applies if the classifier parameter is used.
Default value is: false.
User property is: mdep.failOnMissingClassifierArtifact.
<ignorePermissions> boolean 2.7 ignore to set file permissions when unpacking a dependency
Default value is: false.
User property is: dependency.ignorePermissions.
<includeArtifactIds> String 2.0 Comma separated list of Artifact names to include. Empty String indicates include everything (default).
User property is: includeArtifactIds.
<includeClassifiers> String 2.0 Comma Separated list of Classifiers to include. Empty String indicates include everything (default).
User property is: includeClassifiers.
<includeGroupIds> String 2.0 Comma separated list of GroupIds to include. Empty String indicates include everything (default).
User property is: includeGroupIds.
<includeScope> String 2.0 Scope to include. An Empty string indicates all scopes (default). The scopes being interpreted are the scopes as Maven sees them, not as specified in the pom. In summary:
  • runtime scope gives runtime and compile dependencies,
  • compile scope gives compile, provided, and system dependencies,
  • test (default) scope gives all dependencies,
  • provided scope just gives provided dependencies,
  • system scope just gives system dependencies.

User property is: includeScope.
<includeTypes> String 2.0 Comma Separated list of Types to include. Empty String indicates include everything (default).
User property is: includeTypes.
<includes> String 2.0 A comma separated list of file patterns to include when unpacking the artifact. i.e. **/*.xml,**/*.properties NOTE: Excludes patterns override the includes. (component code = return isIncluded( name ) AND !isExcluded( name );)
User property is: mdep.unpack.includes.
<markersDirectory> File 2.0 Directory to store flag files
Default value is: ${project.build.directory}/dependency-maven-plugin-markers.
User property is: markersDirectory.
<outputAbsoluteArtifactFilename> boolean 2.0 Output absolute filename for resolved artifacts
Default value is: false.
User property is: outputAbsoluteArtifactFilename.
<outputDirectory> File 1.0 Output location.
Default value is: ${project.build.directory}/dependency.
User property is: outputDirectory.
<overWriteIfNewer> boolean 2.0 Overwrite artifacts that don't exist or are older than the source.
Default value is: true.
User property is: overWriteIfNewer.
<overWriteReleases> boolean 1.0 Overwrite release artifacts
Default value is: false.
User property is: overWriteReleases.
<overWriteSnapshots> boolean 1.0 Overwrite snapshot artifacts
Default value is: false.
User property is: overWriteSnapshots.
<prependGroupId> boolean 2.2 Prepend the groupId during copy.
Default value is: false.
User property is: mdep.prependGroupId.
<silent> boolean 2.0 If the plugin should be silent.
Default value is: false.
User property is: silent.
<skip> boolean 2.7 Skip plugin execution completely.
Default value is: false.
User property is: mdep.skip.
<stripClassifier> boolean 1.0 Strip artifact classifier during copy
Default value is: false.
User property is: mdep.stripClassifier.
<stripVersion> boolean 1.0 Strip artifact version during copy
Default value is: false.
User property is: mdep.stripVersion.
<type> String 2.0 Specify type to look for when constructing artifact based on classifier. Example: java-source,jar,war
User property is: type.
<useJvmChmod> boolean 2.5.1

will use the jvm chmod, this is available for user and all level group level will be ignored

since 2.6 is on by default
Default value is: true.
User property is: dependency.useJvmChmod.
<useRepositoryLayout> boolean 2.0-alpha-2

Place each artifact in the same directory layout as a default repository.

example:

  /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar

Default value is: false.
User property is: mdep.useRepositoryLayout.
<useSubDirectoryPerArtifact> boolean 2.0-alpha-1 Place each file in a separate subdirectory. (example /outputDirectory/junit-3.8.1-jar)
Default value is: false.
User property is: mdep.useSubDirectoryPerArtifact.
<useSubDirectoryPerScope> boolean 2.2 Place each type of file in a separate subdirectory. (example /outputDirectory/runtime /outputDirectory/provided etc)
Default value is: false.
User property is: mdep.useSubDirectoryPerScope.
<useSubDirectoryPerType> boolean 2.0-alpha-1 Place each type of file in a separate subdirectory. (example /outputDirectory/jars /outputDirectory/wars etc)
Default value is: false.
User property is: mdep.useSubDirectoryPerType.

Parameter Details

<classifier>

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

<encoding>

Encoding of artifacts.
  • Type: java.lang.String
  • Since: 3.0
  • Required: No
  • User Property: mdep.unpack.encoding

<excludeArtifactIds>

Comma separated list of Artifact names 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 GroupId Names to exclude.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludeGroupIds

<excludeScope>

Scope to exclude. An Empty string indicates no scopes (default).
  • 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

<excludes>

A comma separated list of file patterns to exclude when unpacking the artifact. i.e. **/*.xml,**/*.properties NOTE: Excludes patterns override the includes. (component code = return isIncluded( name ) AND !isExcluded( name );)
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: mdep.unpack.excludes

<failOnMissingClassifierArtifact>

This only applies if the classifier parameter is used.
  • Type: boolean
  • Since: 2.0-alpha-2
  • Required: No
  • User Property: mdep.failOnMissingClassifierArtifact
  • Default: false

<ignorePermissions>

ignore to set file permissions when unpacking a dependency
  • Type: boolean
  • Since: 2.7
  • Required: No
  • User Property: dependency.ignorePermissions
  • Default: false

<includeArtifactIds>

Comma separated list of Artifact names 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 GroupIds to include. Empty String indicates include everything (default).
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: includeGroupIds

<includeScope>

Scope to include. An Empty string indicates all scopes (default). The scopes being interpreted are the scopes as Maven sees them, not as specified in the pom. In summary:
  • runtime scope gives runtime and compile dependencies,
  • compile scope gives compile, provided, and system dependencies,
  • test (default) scope gives all dependencies,
  • provided scope just gives provided dependencies,
  • system 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

<includes>

A comma separated list of file patterns to include when unpacking the artifact. i.e. **/*.xml,**/*.properties NOTE: Excludes patterns override the includes. (component code = return isIncluded( name ) AND !isExcluded( name );)
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: mdep.unpack.includes

<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

<outputDirectory>

Output location.
  • Type: java.io.File
  • Since: 1.0
  • Required: No
  • User Property: outputDirectory
  • Default: ${project.build.directory}/dependency

<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 groupId during copy.
  • Type: boolean
  • Since: 2.2
  • Required: No
  • User Property: mdep.prependGroupId
  • Default: false

<silent>

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

<stripClassifier>

Strip artifact classifier during copy
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: mdep.stripClassifier
  • Default: false

<stripVersion>

Strip artifact version during copy
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: mdep.stripVersion
  • 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

<useJvmChmod>

will use the jvm chmod, this is available for user and all level group level will be ignored

since 2.6 is on by default
  • Type: boolean
  • Since: 2.5.1
  • Required: No
  • User Property: dependency.useJvmChmod
  • Default: true

<useRepositoryLayout>

Place each artifact in the same directory layout as a default repository.

example:

  /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar
  • Type: boolean
  • Since: 2.0-alpha-2
  • Required: No
  • User Property: mdep.useRepositoryLayout
  • Default: false

<useSubDirectoryPerArtifact>

Place each file in a separate subdirectory. (example /outputDirectory/junit-3.8.1-jar)
  • Type: boolean
  • Since: 2.0-alpha-1
  • Required: No
  • User Property: mdep.useSubDirectoryPerArtifact
  • Default: false

<useSubDirectoryPerScope>

Place each type of file in a separate subdirectory. (example /outputDirectory/runtime /outputDirectory/provided etc)
  • Type: boolean
  • Since: 2.2
  • Required: No
  • User Property: mdep.useSubDirectoryPerScope
  • Default: false

<useSubDirectoryPerType>

Place each type of file in a separate subdirectory. (example /outputDirectory/jars /outputDirectory/wars etc)
  • Type: boolean
  • Since: 2.0-alpha-1
  • Required: No
  • User Property: mdep.useSubDirectoryPerType
  • Default: false