2012-08-15 90 views
2

在pom.xml(jar包裝)我想利用maven依賴插件來下載兩種依賴關係。一種我想下載的傳遞和一個沒有。做複製依賴關係傳遞和不可傳遞

mvn initialize 

artifact_1位於lib和artifact_2和3處位於樣品後

<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> 

:到現在爲止,我的插件部分包含follwing元素。但是無法找到artifacts_1的傳遞依賴關係。這是一條正確的路嗎?我不知何故希望這種解決方案已經工作,但因爲它似乎並不...修正將受到歡迎...

回答

2

剛剛發現最新情況...
includeArtifactIds也影響傳遞依賴性。所以如果artifact_4和artifact_5是artifact_1的傳遞依賴關係,它們就不會被複制,因爲我沒有包含它們。我認爲這有點出乎意料,但是......那是它是如何實現的(但沒有記錄)。現在我只是從includeArtifacts更改爲excludeArtifacts,它可以工作。

+1

是的,似乎包含/排除適用於指定和派生(可傳遞)的整個解析列表,這是一個痛苦... – Chris2048 2014-01-03 18:34:29