本文章主要解决一下问题。
1、微信支付无法实现getWXPayDomain()方法
2、WXPayConfig 内的部分抽象方法无法“重写”,解决办法。
这是依赖。
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>3.0.9</version>
</dependency>
1、在官方下载sdk, sdk下载地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
2、修改WXPayConfig文件
下载后(WxPayAPI_JAVA.zip),先解压(java_sdk_v3.0.9),然后使用编辑器打开java_sdk_v3.0.9,这里以idea编辑器为例,接着找到WXPayConfig类,在WXPayConfig的抽象属性前面加上public。原版的缺省(default)抽象属性只能在同一个package下可见,在不同package下面缺省属性是没有访问权限的,跨包必须改成公共public属性才可以。
如图,abstract 前面public的, 都加上public。
3、接下来将要进行打包操作。
我是执行的 install (仅仅打包到本地仓库,线上不敢乱弄啊~~)
不了解maven打包命令的可以看看这个文章:package、install、deploy
可以发现target目录下有了一个: wxpay-sdk-3.0.9.jar 文件, 去本地仓库看一下,发现有了。
这个时候, 刷新自己的项目, 发现OK了,不报错了。 。。
PS: 后来我把本地sdk的都删掉了 , 重新拉了一下官方的。。
千万只🦙飘过, 默认的居然有了 protected 修饰符,白整了。。不过还是记录一下吧。
参考资料:
https://www.freesion.com/article/6846385394/
https://blog.csdn.net/weixin_44563573/article/details/124660156
https://bbs.csdn.net/topics/395826440