2016-11-21 170 views
0

我正在使用Maven 3.0.3和一個特定的插件,它在我的pom.xml中包含一個冗餘依賴項,我想排除它。這個冗餘jar中的類現在被包含在其他一些工件中,這些工件確實在項目構建的類路徑中,所以不會有任何構建運行時問題。如何排除來自Maven插件的Maven傳遞依賴項?

有沒有一種方法可以在構建時將插件的依賴關係添加到插件的類路徑中?

+0

插件依賴通常不會添加到構建類路徑中。你確定這發生了嗎?你能給個例子嗎? 「mvn依賴:樹」說什麼? – lexicore

+0

我做過的工作(只是試圖理解問題)是從插件的pom.xml(在我的.m2中)中刪除依賴項。所以我不確定這個jar不在插件執行的類路徑中。 – shlomi33

+0

「maven插件依賴排除」的簡單搜索產生這個SO問題作爲第一個結果:http://stackoverflow.com/questions/6028534/how-to-exclude-dependency-in-a-maven-plugin – walen

回答

0

你可以在你的依賴使用<exclusions>標籤,例如:

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk</artifactId> 
    <version>1.10.0</version> 
    <exclusions> 
    <exclusion> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

將排除joda-timeaws-java-sdk傳遞依賴。

+0

這是一個常規的依賴排除。我需要排除插件的特定依賴項 – shlomi33

+0

我不確定要理解,但是如果要排除所有依賴項,如果您想排除所有依賴項,則可以在排除項中將*用作'groupId'和'artifactId'。如果那是你最初的需要,我會相應地更新答案。 –

+0

我需要從插件依賴關係樹中移除依賴關係。排除的東西是針對「正常」的依賴關係。不適用於來自插件的依賴關係 – shlomi33