Frequently Asked Questions
- What is the difference between dependency-maven-plugin and maven-dependency-plugin?
-
When executing
mvn dependency:unpack
ordependency:copy
from the command line, I get "One or more required plugin parameters are invalid/missing for 'dependency:unpack'" - Why am I getting errors that a documented goal or parameter is missing?
- Why is Maven resolving "dependency:xxx" to the older org.codehaus.mojo:dependency-maven-plugin?
- Why am I having trouble unpacking only a specific file?
- Why does my dependency analysis report
Unused declared dependencies
?
- What is the difference between dependency-maven-plugin and maven-dependency-plugin?
-
Actually, they are the same, it's just that it was moved and renamed. The dependency-maven-plugin is hosted at Mojo while maven-dependency-plugin is hosted at Apache. The recommended plugin to use is the maven-dependency-plugin.
-
When executing
mvn dependency:unpack
ordependency:copy
from the command line, I get "One or more required plugin parameters are invalid/missing for 'dependency:unpack'" -
In order for this to work, you must configure the ArtifactItems as shown here. Note that when executing a plugin from the command line, you must put the configuration tag outside of the executions.
If you haven't done this correctly, the error will look like this:
[0] inside the definition for plugin: 'maven-dependency-plugin', specify the following:
- Why am I getting errors that a documented goal or parameter is missing?
-
The latest documents are published and may preceed the actual release. Check to make sure the goal/parameter is in the most recent version. -OR- Maven may be resolving the older codehaus version of the dependency plugin. See next question.
- Why is Maven resolving "dependency:xxx" to the older org.codehaus.mojo:dependency-maven-plugin?
-
Due to a bug in Maven in versions prior to 2.0.7 (MNG-2926), the search order was reversed and caused Mojo plugins to supercede ones with the same prefix at Apache. The metadata at Mojo was cleaned up when the maven-dependency-plugin was released at Apache. If you are still experiencing this error, chances are you have old metadata in your local repository or in a proxy / internal repository. Removing
/org/codehaus/mojo/maven-metadata.*
from your repo/proxy will cause it to be refreshed. Alternatively, you can specify the groupId explicitely in your pom (if you are using a bound goal), or on the command line, use groupId:artifactId:version:mojo, iemvn org.apache.maven.plugins:maven-dependency-plugin:2.5:unpack
- Why am I having trouble unpacking only a specific file?
-
The excludes will override the includes declaration. That means if you specify excludes=**/* ,includes=**/foo, you will exclude everything. If you only want foo, then just specify the includes. The plexus component used to unpack uses the following code to determine which files to unpack:
return isIncluded( name ) AND !isExcluded( name );
- Why does my dependency analysis report
Unused declared dependencies
? -
By default, dependency analysis is done at bytecode level: anything that doesn't get into bytecode isn't detected. This is the case, for example, of constants, annotations with source retention policy, or javadoc links.
If the only use of a dependency consists of such undetected constructs, the dependency is analyzed as unused. Since 2.6, you can force use report with
usedDependencies
parameter.