2015-10-07 121 views
0

我試圖排除在POM文件Maven的 - 不包括傳遞依賴

<dependency> 
     <groupId>xxxxx</groupId> 
     <artifactId>xxxxxx</artifactId> 
     <exclusions> 
      <exclusion> 
      <groupId>yyyyyyy</groupId> 
      <artifactId>yyyyyyy</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

其中xxxxxx是我所需要的項目中使用下面的傳遞依賴。我試圖避免傳遞依賴項目yyyyyy,它隨之而來,因爲它與我已經作爲依賴關係的同一項目的其他版本發生衝突。

當我使用此配置和刷新eclipse來構建項目時,項目yyyyyyy-version.jar仍顯示在我的類路徑條目中。我必須手動刪除該類路徑條目才能使其工作。

請指導我在這裏做錯了什麼。如何在pom文件中指定排除,這樣我就不會得到這個類路徑條目。謝謝。

更新 - 我沒有在構建中的任何問題,但是當我嘗試運行該應用程序時,它找到了項目的兩個版本中的特定參數 - 期望的和不期望的作爲傳遞依賴性來臨。

+0

它是唯一依賴於它(不需要的庫/版本)嗎? –

+0

感謝戴夫的幫助。當我看到依賴關係樹時,我看不到這個不需要的庫/版本。不知道如何獲得類路徑。 –

+0

這是我得到的錯誤 - file(fileType DECLARATION)中的參數jar:file:(不需要的項目/版本)之前在jar中聲明:file:(Desired project/version)(fileType DECLARATION)。 –

回答

1

執行mvn dependency:tree並分析誰也有這種傳遞性依賴。目前,沒有全局排除功能,但存在適當的JIRA issue

+0

在pom文件中排除了上述內容之後,我試着在paremt項目上運行mvn dependency:tree,並且出乎意料地在依賴關係樹中沒有看到這個(不需要的項目版本)。不知道它是如何進入我的類路徑條目。 –

+0

這是我得到的錯誤 - file(fileType DECLARATION)中的參數jar:file:(不需要的項目/版本)之前在jar中聲明:file:(Desired project/version)(fileType DECLARATION)。 –

+0

@VivekVermani請分享'dependency:tree'的輸出。 –