dependency:unpack-dependencies
Full name:
org.apache.maven.plugins:maven-dependency-plugin:3.8.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. - The goal is thread-safe and supports parallel builds.
- 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: classifier |
<encoding> |
String |
3.0 |
Encoding of artifacts. User Property: mdep.unpack.encoding |
<excludeArtifactIds> |
String |
2.0 |
Comma separated list of Artifact names 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 GroupId Names 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).
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
User Property: excludeScope |
<excludeTransitive> |
boolean |
2.0 |
If we should exclude transitive dependencies Default: falseUser Property: excludeTransitive |
<excludeTypes> |
String |
2.0 |
Comma Separated list of Types to exclude. Empty String indicates don't exclude anything (default). User Property: 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: mdep.unpack.excludes |
<failOnMissingClassifierArtifact> |
boolean |
2.0-alpha-2 |
This only applies if the classifier parameter is used. Default: falseUser Property: mdep.failOnMissingClassifierArtifact |
<fileMappers> |
FileMapper[] |
3.1.2 |
org.codehaus.plexus.components.io.filemappers.FileMappers to be used for rewriting each target path, or null if no rewriting shall happen.User Property: mdep.unpack.filemappers |
<ignorePermissions> |
boolean |
2.7 |
ignore to set file permissions when unpacking a dependency Default: falseUser Property: dependency.ignorePermissions |
<includeArtifactIds> |
String |
2.0 |
Comma separated list of Artifact names 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 GroupIds to include. Empty String indicates include everything (default). User Property: includeGroupIds |
<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:
User Property: includeScope |
<includeTypes> |
String |
2.0 |
Comma Separated list of Types to include. Empty String indicates include everything (default). User Property: 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: mdep.unpack.includes |
<markersDirectory> |
File |
2.0 |
Directory to store flag files Default: ${project.build.directory}/dependency-maven-plugin-markersUser Property: markersDirectory |
<outputDirectory> |
File |
1.0 |
Output location. Default: ${project.build.directory}/dependencyUser Property: outputDirectory |
<overWriteIfNewer> |
boolean |
2.0 |
Overwrite artifacts that don't exist or are older than the source. Default: trueUser Property: overWriteIfNewer |
<overWriteReleases> |
boolean |
1.0 |
Overwrite release artifacts Default: falseUser Property: overWriteReleases |
<overWriteSnapshots> |
boolean |
1.0 |
Overwrite snapshot artifacts Default: falseUser Property: overWriteSnapshots |
<prependGroupId> |
boolean |
2.2 |
Prepend the groupId during copy. Default: falseUser Property: mdep.prependGroupId |
<silent> |
boolean |
2.0 |
If the plugin should be silent. Default: falseUser Property: silent |
<skip> |
boolean |
2.7 |
Skip plugin execution completely. Default: falseUser 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 |
<stripClassifier> |
boolean |
- |
Strip artifact classifier during copy Default: falseUser Property: mdep.stripClassifier |
<stripType> |
boolean |
3.4.0 |
Strip artifact type during copy Default: falseUser Property: mdep.stripType |
<stripVersion> |
boolean |
- |
Strip artifact version during copy Default: falseUser Property: mdep.stripVersion |
<type> |
String |
2.0 |
Specify type to look for when constructing artifact based on classifier. Example: java-source,jar,war User Property: type |
<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: falseUser Property: mdep.useRepositoryLayout |
<useSubDirectoryPerArtifact> |
boolean |
2.0-alpha-1 |
Place each file in a separate subdirectory. (example /outputDirectory/junit-3.8.1-jar)Default: falseUser Property: mdep.useSubDirectoryPerArtifact |
<useSubDirectoryPerScope> |
boolean |
2.2 |
Place each type of file in a separate subdirectory. (example /outputDirectory/runtime /outputDirectory/provided etc) Default: falseUser Property: mdep.useSubDirectoryPerScope |
<useSubDirectoryPerType> |
boolean |
2.0-alpha-1 |
Place each type of file in a separate subdirectory. (example /outputDirectory/jars /outputDirectory/wars etc) Default: falseUser Property: 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 threshold to exclude, if no value is defined for include. An empty string indicates no 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:
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
runtimeexclude scope excludes runtime and compile dependencies,compileexclude scope excludes compile, provided, and system dependencies,testexclude scope excludes all dependencies, then not really a legitimate option: it will fail, you probably meant to configure includeScope = compileprovidedexclude scope just excludes provided dependencies,systemexclude 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
<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
<fileMappers>
org.codehaus.plexus.components.io.filemappers.FileMappers to be used for rewriting each target path, or null if no rewriting shall happen.- Type:
org.codehaus.plexus.components.io.filemappers.FileMapper[] - Since:
3.1.2 - Required:
No - User Property:
mdep.unpack.filemappers
<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 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:
The scope threshold value being interpreted is the scope as Maven filters for creating a classpath, not as specified in the pom. In summary:
runtimeinclude scope gives runtime and compile dependencies,compileinclude scope gives compile, provided, and system dependencies,testinclude scope gives all dependencies (equivalent to default),providedinclude scope just gives provided dependencies,systeminclude 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
<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
<skipDuringIncrementalBuild>
Skip plugin execution only during incremental builds (e.g. triggered from M2E).
See also: org.apache.maven.plugins.dependency.AbstractDependencyMojo.skip
See also: org.apache.maven.plugins.dependency.AbstractDependencyMojo.skip
- Type:
boolean - Since:
3.4.0 - Required:
No - Default:
false
<stripClassifier>
Strip artifact classifier during copy
- Type:
boolean - Required:
No - User Property:
mdep.stripClassifier - Default:
false
<stripType>
Strip artifact type during copy
- Type:
boolean - Since:
3.4.0 - Required:
No - User Property:
mdep.stripType - Default:
false
<stripVersion>
Strip artifact version during copy
- Type:
boolean - 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
<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


