我们有一个在 Maven 2 中运行良好的项目,但是在 Maven 3 中,当它被配置为项目 pom 中的执行时,我们遇到了复制依赖问题。
<execution>
<id>copy-plugin-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeTypes>war,warpath</excludeTypes>
<excludeGroupIds>org.mortbay.jetty</excludeGroupIds>
<outputDirectory>${dir.server}/lib</outputDirectory>
</configuration>
</execution>
当使用 mvn 包运行时,我们的构建缺少一些依赖项。但是,从命令行运行等效项:
mvn dependency:copy-dependencies -DexcludeTypes=war,warpath -DexcludeGroupIds=org.mortbay.jetty -DoutputDirectory=${dir.server}/lib
我们得到与使用 Maven 2 运行它时相同的依赖项。
如果我为dependency:tree 添加执行配置,我会看到打印出的所有依赖项。
Maven 3 中发生了什么变化导致了这种情况?