Gradle常见问题解决
Could not get resource ‘https://jcenter.bintray.com’
在看Netflix conductor源码时遇到的一个问题,记录一下。
由于conductor不是使用常规的maven,而是使用Gradle作为编译工具,并且其jar包仓库是jcenter,不是nexus或者mvnrepository。故而在编译项目时遇到这个报错(Stack Trace适当简略):
Could not download commons-compress.jar (org.apache.commons:commons-compress:1.16)
> Could not get resource 'https://jcenter.bintray.com/org/apache/commons/commons-compress/1.16/commons-compress-1.16.jar'.
> Could not GET 'https://d29vzk4ow07wi7.cloudfront.net/commons-compress-1.16.jar'.
参考
找到项目的build.gradle
文件的节点*.repositories
:
buildscript {
repositories {
// 注释,并添加下面一行
// jcenter()
maven { url "http://jcenter.bintray.com" }
}
}
allprojects {
repositories {
// 默认的jcenter是https协议的,也就是说把https换成http,遇到其他类似的问题,都可以这般尝试
// jcenter()
maven { url "http://jcenter.bintray.com" }
}
}
但是gradle-wrapper.properties
文件不能修改为https
为http
:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
Could not get resource ‘https://plugins.gradle.org/m2’
下载插件失败:
org.gradle.api.resources.ResourceException: Could not get resource 'https://plugins.gradle.org/m2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar'.
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://d29vzk4ow07wi7.cloudfront.net/maven-ant-tasks-2.1.3.jar
Caused by: java.net.SocketException: Software caused connection abort: recv failed
解决方法参考:
在settings.gradle
文件最顶部添加如下配置:
pluginManagement {
repositories {
maven {
url 'http://maven.aliyun.com/repository/gradle-plugin'
}
gradlePluginPortal()
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix