第三方服务腾讯云短信org.json冲突
Posted 宣之于口
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方服务腾讯云短信org.json冲突相关的知识,希望对你有一定的参考价值。
腾讯云短信org.json冲突
错误:
Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.json.JSONObject.put(Ljava/lang/String;Ljava/util/Collection;)Lorg/json/JSONObject;
原因:包依赖冲突问题,qcloudsms_java依赖 org.json:json 这个包。qcloudsms_java 不能考虑到跟所有其他第三方依赖冲突问题,这个需要用户主动来解决
解决办法一:参考文章here
解决办法二:
使用不带参数的发送短信方式
private static final int TYPE_NORMAL = 0;
private static final String NATION_CODE = "86";
public static SmsSingleSenderResult sendSMS(String phoneNumber, int templateId, String msg) throws HTTPException, IOException
SmsSingleSender ssender = new SmsSingleSender(APPID, APPKEY);
// 该msg需要与腾讯云上的短信模版一致,不然会显示无法匹配。
msg = "【" + SIGNATURE + "】您正在验证手机号码,验证码为" + msg + ",请及时输入,验证 码5分钟内有效,感谢您的支持!";
SmsSingleSenderResult result = ssender.send(TYPE_NORMAL, NATION_CODE, phoneNumber,msg, "", "");
if (result.result == SUCCESS_CODE)
log.info("result is ", result);
else
log.error("result is ", result);
return result;
以上是关于第三方服务腾讯云短信org.json冲突的主要内容,如果未能解决你的问题,请参考以下文章
阿里云短信服务报错org.json.JSONArray.iterator()Ljava/util/Iterator
腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)