配置mavenCentral、jcenter、google仓库后 Gradle依赖解析失败求助
核心问题定位
所有依赖解析失败和仓库配置无关,全部是依赖坐标的拼写、命名结构错误导致的,Maven根据错误的坐标生成查找路径,自然会全部返回404找不到文件。甚至你特意添加的jcenter仓库已经永久停服,没有实际作用,不需要保留。
逐处错误修正
- Servlet相关依赖:你把原本点分隔的groupId
javax.servlet错写成了横杠连接的javax-servlet,直接导致Maven的查找路径偏移了一级- 错误写法:
javax-servlet:javax.servlet-api:3.1.0 - 正确写法:
javax.servlet:javax.servlet-api:3.1.0 - 错误写法:
javax-servlet:jstl:1.2 - 正确写法:
javax.servlet:jstl:1.2
- 错误写法:
- Cloud SQL连接器依赖:你漏写了groupId前缀
com.,把com.google.cloud.sql错写成了google.cloud.sql- 错误写法:
google.cloud.sql:mysql-socket-factory-connector-j-8:1.2.1 - 正确写法:
com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.2.1
- 错误写法:
- HikariCP连接池依赖:存在两处拼写错误
- 错误的groupId:
com.zaxxar多写了一个x,正确为com.zaxxer - 错误的artifactId:
HirakiCP把i和r的位置写反了,正确为HikariCP - 错误写法:
com.zaxxar:HirakiCP:4.0.3 - 正确写法:
com.zaxxer:HikariCP:4.0.3
- 错误的groupId:
修正后的完整配置
repositories { mavenCentral() google() } dependencies { implementation platform('com.google.cloud:libraries-bom:19.1.0') compileOnly 'com.google.cloud.functions:functions-framework-api:1.0.1' implementation 'com.google.cloud:google-cloud-pubsub' implementation 'javax.servlet:javax.servlet-api:3.1.0' implementation 'javax.servlet:jstl:1.2' implementation 'mysql:mysql-connector-java:8.0.23' implementation 'com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.2.1' implementation 'com.zaxxer:HikariCP:4.0.3' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' }
补充说明:改完坐标后重新执行构建即可正常解析,不需要额外新增其他仓库源。
内容的提问来源于stack exchange,提问作者xetra11
相关产品推荐
相关产品推荐

