報錯內容解決

施行發表於2024-12-10

A problem occurred configuring root project 'yzbay'. > Could not resolve all artifacts for configuration ':classpath'. > Could not find gradle-bintray-plugin-1.8.4.jar (com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4). Searched in the following locations: https://jcenter.bintray.com/com/jfrog/bintray/gradle/gradle-bintray-plugin/1.8.4/gradle-bintray-plugin-1.8.4.jar > Could not find http-builder-0.7.2.jar (org.codehaus.groovy.modules.http-builder:http-builder:0.7.2). Searched in the following locations: https://jcenter.bintray.com/org/codehaus/groovy/modules/http-builder/http-builder/0.7.2/http-builder-0.7.2.jar

個錯誤的意思是 Gradle 在構建過程中無法找到所需的依賴項。具體來說,它無法在指定的 jcenter 倉庫中找到以下兩個依賴項:

  1. gradle-bintray-plugin-1.8.4.jarcom.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4
  2. http-builder-0.7.2.jarorg.codehaus.groovy.modules.http-builder:http-builder:0.7.2

jcenter 倉庫已於 2021 年 2 月停止提供服務,並且這些依賴項可能已經從該倉庫中移除。因此,Gradle 在嘗試從 jcenter 獲取依賴時失敗了。

解決方案

你可以嘗試以下幾種方式來解決這個問題:

1. 使用 mavenCentral() 替代 jcenter()

由於 jcenter 已不再提供服務,許多常見的依賴已經遷移到 mavenCentral。你可以更新你的 build.gradle 檔案,使用 mavenCentral() 來替代 jcenter()

build.gradle 檔案中,找到 repositories 部分,並將 jcenter() 替換為 mavenCentral(),例如:

groovy
repositories { mavenCentral() // 使用 Maven Central // jcenter() // 移除 jcenter }

2. 手動新增 Bintray 外掛的依賴

gradle-bintray-plugin 是由 JFrog 提供的,雖然 Bintray 服務已經停止,但你可以嘗試將其外掛遷移到其他地方,或者在 JFrog 的網站中查詢替代方案。

如果你必須繼續使用 gradle-bintray-plugin,你可以嘗試在 repositories 中新增 JFrog 提供的其他倉庫,像這樣:

groovy
repositories { maven { url 'https://plugins.gradle.org/m2/' } // Gradle 外掛倉庫 mavenCentral() // 新增其他需要的倉庫 }

3. 使用 http-builder 的替代版本

http-builder 也可能已從 jcenter 移除,你可以嘗試使用其他版本的 http-builder,或者查詢替代的 HTTP 庫。如果有可用的替代版本,可以在你的 build.gradle 中指定:

groovy
dependencies { implementation 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.3' // 替代版本 }

4. 檢查 Gradle 的依賴快取

有時 Gradle 的快取會導致依賴問題。你可以嘗試清除 Gradle 快取並重新構建專案,方法是執行以下命令:

bash
gradle clean build --refresh-dependencies

總結

  • 替代 jcenter():將倉庫從 jcenter() 更換為 mavenCentral()
  • 新增 JFrog 或其他倉庫:嘗試將 gradle-bintray-plugin 的倉庫新增到 repositories 中。
  • 更新依賴項版本:如果某個依賴項在 jcenter 中缺失,可以尋找替代版本或更新依賴。

a. 你是否能提供專案中的 build.gradle 配置檔案,方便進一步分析? b. 你是否使用了其他不再維護的外掛或庫,可能需要替換?

相關文章