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
倉庫中找到以下兩個依賴項:
gradle-bintray-plugin-1.8.4.jar
(com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4
)http-builder-0.7.2.jar
(org.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()
,例如:
2. 手動新增 Bintray 外掛的依賴
gradle-bintray-plugin
是由 JFrog 提供的,雖然 Bintray 服務已經停止,但你可以嘗試將其外掛遷移到其他地方,或者在 JFrog 的網站中查詢替代方案。
如果你必須繼續使用 gradle-bintray-plugin
,你可以嘗試在 repositories
中新增 JFrog 提供的其他倉庫,像這樣:
3. 使用 http-builder
的替代版本
http-builder
也可能已從 jcenter
移除,你可以嘗試使用其他版本的 http-builder
,或者查詢替代的 HTTP 庫。如果有可用的替代版本,可以在你的 build.gradle
中指定:
4. 檢查 Gradle 的依賴快取
有時 Gradle 的快取會導致依賴問題。你可以嘗試清除 Gradle 快取並重新構建專案,方法是執行以下命令:
總結
- 替代
jcenter()
:將倉庫從jcenter()
更換為mavenCentral()
。 - 新增 JFrog 或其他倉庫:嘗試將
gradle-bintray-plugin
的倉庫新增到repositories
中。 - 更新依賴項版本:如果某個依賴項在
jcenter
中缺失,可以尋找替代版本或更新依賴。
a. 你是否能提供專案中的 build.gradle
配置檔案,方便進一步分析? b. 你是否使用了其他不再維護的外掛或庫,可能需要替換?