簡體   English   中英

在 gradle 中更改傳遞依賴項的版本

[英]Changing version for a transitive dependency in gradle

我有一個非常奇怪的要求,即為 scala 庫使用兩個不同的版本。

場景是有一些非常舊的測試正在使用具有非常舊版本的 scala 庫,現在當在同一個包中創建新的 Kafka 消費者和生產者時,scala 會傳遞獲取最新版本的 scala。

有沒有辦法可以在舊版本上運行舊測試並在新版本上運行新測試 scala。

當我們在 Spring Boot 上下文中使用舊版本的 Spring Kafka 時,我可以分享我們為降級 Scala 依賴項所做的工作:

dependencies {
  constraints {
    testImplementation('org.scala-lang:scala-library') {
      // See https://github.com/spring-projects/spring-kafka/issues/1623
      // This can be removed if upgrading Spring Kafka to 2.6
      because('There is a transitive dependency from Jackson to Scala that is not compatible with the version required by Apache Kafka')
      version {
        strictly '2.12.11'
      }
    }
  }
}

這將強制 scala-library 依賴項成為所有測試的特定版本。

如果您想在一個版本中運行一些測試,而在另一個版本中運行一些測試,並且它們都在同一個模塊中,那么您最好將測試隔離在不同的源集中。 您可以在此處的用戶指南中閱讀相關內容(盡管關於集成測試,同樣的原則也適用於其他類型的測試。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM