复制依赖性传递而不是传递

时间:2012-08-15 17:14:14

标签: maven maven-dependency-plugin

在pom.xml(jar包装)中,我想利用maven依赖插件来下载两种依赖项。一种我希望下载传递和一个没有。到目前为止,我的插件部分包含以下元素:

<plugin>
  <artifactId>maven-dependency-plugin</artifactId>
  <version>2.5</version>
  <executions>
    <execution>
  <id>Copy dependencies transitive</id>
  <phase>initialize</phase>
  <goals>
    <goal>copy-dependencies</goal>
  </goals>
      <configuration>
        <excludeTransitive>false</excludeTransitive>
    <outputDirectory>lib</outputDirectory>
        <includeArtifactIds>artifact_1</includeArtifactIds>
  </configuration>
</execution>

    <execution>
      <id>Copy dependencies not transitive</id>
  <phase>initialize</phase>
  <goals>
    <goal>copy-dependencies</goal>
  </goals>
  <configuration>
        <outputDirectory>samples</outputDirectory>
        <excludeTransitive>true</excludeTransitive>
        <includeArtifactIds>artifact_2,artifact_3</includeArtifactIds>
  </configuration>
</execution>
  </executions>
</plugin>

完成后

mvn initialize

artifact_1位于lib和artifact_2中,3位于样本中。但是无法找到artifacts_1的传递依赖项。这是一个正确的方法吗?我某种程度上期望这个解决方案已经可以工作了,但是看起来并没有......我们欢迎更正......

1 个答案:

答案 0 :(得分:2)

刚刚发现最新情况...... includeArtifactIds也会影响传递依赖项。因此,如果artifact_4和artifact_5是artifact_1的传递依赖项,则它们不会被复制,因为我没有包含它们。我认为这有点出乎意料,但是......那是如何实现的(但没有记录)。现在我刚刚从includeArtifacts更改为excludeArtifacts并且它可以工作。