我正在使用“mvn dependency:copy-dependencies”来获取项目使用的所有依赖项源。 我在命令行中使用它,所以它看起来像这样:
mvn dependency:copy-dependencies -Dclassifier=sources -DincludeScope=compile
除了一个小问题之外它工作正常:由于某种原因,该插件删除了该版本。所以我没有使用commons-logging-1.1.1-sources.jar,而是使用commons-logging-sources.jar
文档说“stripVersion”参数应该会影响此行为,但默认值为false。此外,我试图明确地设置它并没有帮助。
我正在使用apache-maven-2.2.1和jdk1.6.0_21
谢谢, Tarlog。
答案 0 :(得分:4)
这很奇怪,您可以在源代码中看到Mojo,Parent Mojo,DependencyUtil)stripVersion执行它所说的内容。
几种可能性:
a)您使用的是当前版本的依赖项插件吗?
配置你的pom
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</build>
或使用完全限定的目标名称:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:copy-dependencies
b)stripVersion
是XML配置中的参数名称。命令行版本是
-Dmdep.stripVersion=false
尝试使用它。
答案 1 :(得分:2)
我找到了问题的根本原因。在某个父母的父母的某个地方......我的pom,stripVersion被设置为true。 我不知道它,无论如何认为设置系统属性必须覆盖xml。我甚至试图把这个属性放在我的pom中,但它仍然无济于事。不知何故,父母pom保持优势,所以我认为该属性不起作用。
当我使用-X param运行时,我看到它尽管我的配置没有改变,所以我开始挖父母poms,除非我发现问题。
感谢大家!