Spring data gemfire 1.7.0.RELEASE對版本1.7.12有slf4j-api
和jcl-over-slf4j
有編譯時間依賴性。我在Maven的POM文件中定義的下面的依賴,因爲我們需要SLF4J 1.7.10依賴(其他幾個罐子依賴於此):maven如何解決spring數據gemfire的slf4j依賴問題?
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.10</version>
<scope>runtime</scope>
</dependency>
我有一個內部的maven回購作爲Maven的中央存儲庫。下面是我在不同的場景看,基於什麼罐子的行爲在Maven中央可供選擇:
我的問題:
- 在方案1,我不明白爲什麼構建沒有抱怨缺少1.7.12 jar。如何解決依賴關係?
- 在場景2中,1.7.10 jar如何在1.7.12中覆蓋1.7.12,而沒有在彈簧數據依賴關係中爲slf4j 1.7.12指定一個排除?
- 在場景3中,當maven中央缺少slf4j-parent 1.7.12的pom時,它爲什麼會投訴?由於1.7.10罐子存在,所以1.7.10罐子(類似於情況1)不應該運行良好嗎?
謝謝。在場景1中,它不應該嘗試解析1.7.12的依賴關係樹嗎? –
事實上,這仍然是我唯一不清楚的地方,如果依賴關係根本不存在,並且POM覆蓋它,或者如果它存在,它可能會有不同的行爲,它會開始處理它,然後由於缺少部分而失敗在依賴關係圖中。你使用的是哪個版本的maven? –
我更新了我的答案並提供了更多詳細信息。 –