版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/loy_184548/article/details/82707577
腾讯云短信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;
}