我正在將一些遺留代碼移植到新版本。一個特定的模塊(slf4j),其中1.5x版本與1.6x和1.7x不兼容,我的問題是項目依賴的項目作爲jar包含在classpath中。有沒有辦法解決這個問題?刪除maven中的傳遞依賴項
回答
如果在POM Maven的直接依賴關係將會使用它,並省略任何傳遞依賴於同一工件,如這裏
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.12.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
駱駝核心具有傳遞性依賴SLF4J-API-1.6.6,但Maven會選擇slf4j-api-1.7.5
我不確定這是否正確,我嘗試過新版本的slf4j添加到我的項目POM中。它仍然會導致兼容性問題。儘管這可能只適用於sl4j案件,但我不能肯定地說。 – user1801279
在Eclipse中很容易驗證go pom「dependency hierarchy」選項卡 –
yep mvn依賴關係:樹是我用來推斷依賴關係仍然在偷偷摸摸的方式,即使我已經將新版本鏈接到我的項目 – user1801279
我解決我的問題的方法是重新部署我的項目所依賴的項目。既然它是一個jar,我不得不以maven格式重新創建它,並添加必要的排除語句來阻止該級別的所有傳遞依賴。這可能不是最佳做法,但在我的情況下工作。我想用更新版本的項目是所有基於maven的排除標籤應該足夠了
- 1. Maven:刪除單個傳遞依賴項
- 2. Maven排除傳遞依賴的傳遞依賴
- 3. Maven - 從Jar中刪除依賴項
- 4. 如何排除來自Maven插件的Maven傳遞依賴項?
- 5. 傳遞依賴如何排除。 - Maven的
- 6. Maven缺少傳遞依賴項
- 7. 如何讓maven解析本地依賴的傳遞依賴項
- 8. 從Maven pom中排除傳遞依賴項
- 9. Maven傳遞依賴關係
- 10. Maven傳遞依賴混淆
- 11. Maven。傳遞依賴關係
- 12. maven-shade-plugin:排除依賴關係及其所有傳遞依賴項
- 13. 排除不能傳遞的依賴項
- 14. 可以maven乾淨刪除已刪除的依賴項?
- 15. IntelliJ未加載maven項目中的傳遞依賴項
- 16. 將基於Maven的依賴項的傳遞依賴項收集到非Maven項目的類路徑中
- 17. 如何正確刪除Maven項目中的依賴項
- 18. 在Maven中,如何從特定的依賴項中排除所有傳遞依賴項?
- 19. 排除maven中的嵌套傳遞依賴
- 20. Maven的傳遞依賴不運行
- 21. Maven的傳遞依賴問題
- 22. Maven的 - 不包括傳遞依賴
- 23. 解決Maven的傳遞依賴衝突
- 24. Maven如何處理從父項繼承的傳遞依賴項?
- 25. Maven的依賴管理:傳遞Vs的直接依賴關係
- 26. 刪除Maven Pom中的重複依賴項
- 27. Maven中的Ejb3依賴項
- 28. Maven:我應該保留還是移除也是傳遞依賴項的聲明的依賴項?
- 29. Scala REPL刪除依賴項
- 30. Maven傳遞依賴引起NoClassDefFound錯誤
因此,您的項目取決於它本身依賴於1.5.x版本的SLF4J的東西?那是對的嗎? – Vidya
是的,我打算使用1.6x和1.7x版本,它不向後兼容1.5x。每次我發起戰爭(我正在處理的項目)時,它都會失敗,因爲由於不同版本的不兼容而存在不兼容性,因爲傳輸依賴關係 – user1801279