Closed xl277541808 closed 1 year ago
wechatpay-java 依赖的是 OkHttp 4.x,你项目中引入的是 3.x。
建议谨慎地升级,参考adding-constraints-transitive-deps 指定 OkHttp 4.x 版本。按照 OkHttp 官方的迁移指南,OkHttp 4.x 和 OkHttp 3.x 是二进制和 Java 源代码兼容。
希望收到你兼容性的报告。
可是我是直接引的jar包呀,
意思是这个打好的jar里面引用错了,需要我自己去引OkHttp 4.x 版本?
猜测是你在项目主动依赖了 OkHttp 3.x
或者依赖的其他组件依赖了。你用 IDE 或者 gradle 查看下项目的依赖就知道了。
也可以参考下其他项目 类似问题的指引。
@xl277541808 我跟你遇到了一样的问题 按照如下所示修改 pom 文件得以解决
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-java</artifactId>
<version>0.2.1</version>
<exclusions>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp3</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
</dependency>
@xy-peng 我查看了下依赖树 发现 wechatpay-java-core 引入的 okhttp 版本是 3.14.9 如下图所示
@xl277541808 我跟你遇到了一样的问题 按照如下所示修改 pom 文件得以解决
<dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-java</artifactId> <version>0.2.1</version> <exclusions> <exclusion> <artifactId>okhttp</artifactId> <groupId>com.squareup.okhttp3</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.10.0</version> </dependency>
@xy-peng 我查看了下依赖树 发现 wechatpay-java-core 引入的 okhttp 版本是 3.14.9 如下图所示
@zijianrs 大佬,我按照你说的试过。原本是这样, wechatpay-java-core 自身内部依赖的是okhttp 3.14.9 然后,改了之后: 运行报错,提示同样的问题
@zijianrs 后来,为了赶时间,没有研究了。用了另一种方式:wechatpay-apache-httpclient 这个感觉挺简单的。拿进来就能用了, 然后是调用接口,二维码地址一下就出来了 我猜,是不是环境不一样。我是在spring-boot api 里面使用的
错误描述
我用的版本是: 调用的接口是: 我跟进去看了是: 看起来参数的顺序都不对。 请问,我的是不是不是最新版本的wechatpay-java呀? 现在该怎么办呢?
重现bug的步骤
如上
预期行为
如上
导致错误的代码片段
No response
操作系统
windows
Java 版本
java 17
wechatpay-java 版本
0.2.0
其他信息
如上