Spring Boot中Maven更新Square Java SDK最新版依赖解析失败问题
依赖解析失败根因
- 你当前配置的jcenter仓库已于2021年停止运营,不再同步任何新发布的依赖包,2022年发布的Square SDK新版本从未上传到jcenter,自然无法解析。
- Square Java SDK从15.0.0及以上版本更换了Maven坐标,旧的
com.squareup:connect坐标仅用于2.x等历史版本,直接用旧坐标填写新版本号不可能拉取到对应包。
正确升级步骤
- 替换仓库配置
删除pom.xml中失效的jcenter仓库配置,添加Maven中央仓库配置(国内使用阿里云Maven镜像也可正常拉取,无需额外配置):
<repositories> <repository> <id>maven-central</id> <url>https://repo.maven.apache.org/maven2</url> </repository> </repositories>
- 替换依赖坐标
将原有Square旧依赖替换为新坐标,版本号填写你需要的20.1.0.20220616即可:
<dependency> <groupId>com.squareup.sdk</groupId> <artifactId>square</artifactId> <version>20.1.0.20220616</version> </dependency>
- 适配大版本API变更
由于你是从2.x跨大版本升级到20.x,包路径、API逻辑存在大量不兼容变更,需要同步修改代码:
- 所有import路径的前缀从
com.squareup.connect替换为com.squareup.square - 客户端初始化逻辑调整为新版本写法:
SquareClient squareClient = new SquareClient.Builder() .accessToken("你的Square应用Access Token") .environment(Environment.PRODUCTION) // 沙箱环境替换为Environment.SANDBOX .build();
- 各业务接口的调用方法、返回值结构参考新版本SDK的类定义调整即可。
配置修改完成后,在项目根目录执行
mvn clean install -U强制刷新本地依赖缓存,清除之前拉取失败的残留缓存,避免影响依赖解析。
内容的提问来源于stack exchange,提问作者Umesh Goti
相关产品推荐
相关产品推荐

