springboot集成腾讯云短信一直报错 项目无法启动 求指导 成功红包答谢

m0_37659175 2019-09-28 05:37:11
加精
springboot集成腾讯云短信一直报错 项目无法启动 求指导 成功红包答谢

控制层:
package com.example.demo.controller;

import com.example.demo.model.Sms;
import com.example.demo.service.IMsgSendService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("/send")
public class MsgSendControl {
@Autowired
private IMsgSendService iMsgSendService;
@RequestMapping("/querycode")
public void send(HttpServletRequest request, Sms sms, HttpSession session){
sms.setPhonenumber(request.getParameter("phone"));
String c=iMsgSendService.send(sms);
session.setAttribute("c",c);
}
}


service层:

package com.example.demo.service;

import com.example.demo.model.Sms;
import org.springframework.stereotype.Service;

@Service
public interface IMsgSendService {

String send(Sms sms);
}

serviceimpl:

package com.example.demo.serviceimpl;

import com.alibaba.fastjson.JSONException;
import com.example.demo.model.Sms;
import com.example.demo.service.IMsgSendService;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.Random;
@Service
public class IMsgSendServiceImpl implements IMsgSendService {
@Override
public String send(Sms sms) {
String c=String.valueOf(new Random().nextInt(899999) + 100000);
try {
String[] params = {c,"3"};//数组具体的元素个数和模板中变量个数必须一致,例如事例中templateId:5678对应一个变量,参数数组中元素个数也必须是一个
SmsSingleSender ssender = new SmsSingleSender(sms.getAppid(), sms.getAppkey());
SmsSingleSenderResult result = ssender.sendWithParam("86", sms.getPhonenumber(),
sms.getTemplateid(), params, sms.getSmssign(), "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
System.out.println(result);
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
System.out.print("HTTP响应码错误");
} catch (JSONException e) {
// json解析错误
System.out.print("json解析错误");
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
System.out.print("网络IO错误");
}
return c;
}
}

pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.21.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--引入log4j2日志-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

<!--引入druid-->
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<!--配置短信验证码的jar-->
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<!--<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<!--<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>-->

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>

<!--配置短信验证码jar结束-->

<!--新加入-->

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>

</dependency>
<!--mybites的分页插件包 -->
<!--<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.5</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->










</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
<!--声明映射文件 这个非常重要不声明的话sql xml文件无法找到-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

</project>

错误提示:Error creating bean with name 'IMsgSendServiceImpl': Failed to introspect bean class [com.example.demo.serviceimpl.IMsgSendServiceImpl] for lookup method metadata: could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: com/github/qcloudsms/httpclient/HTTPException
...全文
3052 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
cc1aymore 2020-09-27
  • 打赏
  • 举报
回复
原因是里面加的版本并没有排除Tokmact
cc1aymore 2020-09-27
  • 打赏
  • 举报
回复
把httpclient那个换成4.6就行了
cc1aymore 2020-09-27
  • 打赏
  • 举报
回复
jar包冲突了
qq_46587598 2020-03-17
  • 打赏
  • 举报
回复
来看看。。。
csdnlyy126 2019-12-05
  • 打赏
  • 举报
回复
看本地jar包是否完整,有没有那个类,第二,看httpclientjar包是不是有版本不兼容的问题
编程写手 2019-10-12
  • 打赏
  • 举报
回复
缺少httpclient这个包导致
你珂哥 2019-10-11
  • 打赏
  • 举报
回复
引用 13 楼 weixin_43869905 的回复:
不结贴吗.....
能说一下错误吗,观摩一下
老王就是我 2019-10-09
  • 打赏
  • 举报
回复
版本兼容问题?
laq_sky 2019-10-09
  • 打赏
  • 举报
回复
是不是版本不匹配
wandy521 2019-10-06
  • 打赏
  • 举报
回复
好复杂啊,完全看不懂哟
yuanren_go 2019-10-03
  • 打赏
  • 举报
回复
好复杂啊,完全看不懂哟
ccsc135 2019-10-02
  • 打赏
  • 举报
回复
看不懂是什么
咕噜橙 2019-10-01
  • 打赏
  • 举报
回复
NoClassDefFoundError,没有httpclient,或者说你引入的其他包里面已经有一个httpclient了,版本之间不兼容
谈谈1974 2019-09-30
  • 打赏
  • 举报
回复
可能jar包没引入,查查看本地有没有下载成功
抱走你就跑 2019-09-30
  • 打赏
  • 举报
回复
这不是bean没有注入成功吗???
瘦死的黑骆驼 2019-09-29
  • 打赏
  • 举报
回复
可能是你maven下载的httpclient的jar包没有下完整,可以去到你本地的maven仓库查看一下,如果没有下载完成,就把那里面的包全部删除,然后重新下载
m0_37659175 2019-09-29
  • 打赏
  • 举报
回复
引用 3 楼 亲爱的Joe 的回复:

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>

</dependency>
把版本改成1.0.6试试。
249846170
亲爱的Joe 2019-09-29
  • 打赏
  • 举报
回复
引用 7 楼 m0_37659175 的回复:
[quote=引用 6 楼 亲爱的Joe 的回复:][quote=引用 5 楼 m0_37659175 的回复:] [quote=引用 3 楼 亲爱的Joe 的回复:]

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>

</dependency>
把版本改成1.0.6试试。
试了还是不行[/quote] QQ远程给你看看?[/quote]您qq多少 朋友[/quote] 已私信
m0_37659175 2019-09-29
  • 打赏
  • 举报
回复
引用 6 楼 亲爱的Joe 的回复:
[quote=引用 5 楼 m0_37659175 的回复:] [quote=引用 3 楼 亲爱的Joe 的回复:]

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>

</dependency>
把版本改成1.0.6试试。
试了还是不行[/quote] QQ远程给你看看?[/quote]您qq多少 朋友
亲爱的Joe 2019-09-29
  • 打赏
  • 举报
回复
引用 5 楼 m0_37659175 的回复:
[quote=引用 3 楼 亲爱的Joe 的回复:]

<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>

</dependency>
把版本改成1.0.6试试。
试了还是不行[/quote] QQ远程给你看看?
加载更多回复(7)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)【采用BPSK或GMSK的Turbo码】MSK、GMS内容概要:本文主要介绍了采用BPSK或GMSK调制方式的Turbo码相关技术研究,重点涵盖GMSK调制下的二比特差分解调方法、Turbo码与BPSK/GMSK调制相结合的系统性能分析,并提供了完整的Matlab代码实现方案。研究内容包括调制解调原理、编码结构设计、误码率仿真及系统优化等关键环节,旨在通过仿真手段验证所提出方案的有效性和可靠性,帮助研究人员深入理解现代数字通信系统中的关键技术和其实现方法。; 适合人群:具备一定通信原理和Matlab编程基础,从事无线通信、信号处理、编码理论等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握GMSK调制与Turbo码结合的系统设计与仿真方法;②学习二比特差分解调算法在实际通信系统中的应用;③通过Matlab代码实现提升对数字调制解调和信道编码技术的理解与实践能力;④为相关课题研究、毕业设计或工程项目提供参考和技术支持。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,对照通信系统基本原理深入理解各环节功能,重点关注调制解调过程与Turbo译码的协同工作机制,并尝试修改参数以观察系统性能变化,从而达到理论与实践相结合的学习效果。
代码转载自:https://pan.quark.cn/s/a4b39357ea24 LA 1010 逻辑分析仪被视作一种效能卓越的数字信号分析设备,其核心功能在于对数字通信协议,例如I²C,进行检测与解构。本资源将集中阐述LA 1010的操作流程以及如何借助该设备对I²C协议的波形展开分析。 确保逻辑分析仪被正确地连接至目标系统是极为关键的环节。在运用LA 1010的过程中,必须将分析仪的通道0与通道1分别对应连接至目标装置的SCL(时钟)与SDA(数据)线路。务必保证连接的稳固性且无任何干扰因素,以此确保数据采集的精确度。 随后,需要设定采样参数。采样频率对于能否成功捕捉到信号具有决定性的作用。针对I²C协议,通常选用的采样频率范围介于100kHz到400kHz之间,这一范围的选择取决于实际应用场景中I²C总线的运行速度。然而,LA 1010所能达到的最高采样速率可能高达500MHz,因此需要根据具体需进行相应的调整。此外,还必须精心挑选适配目标设备工作电压的电压等级,例如3.3V、5V或1.8V。 在软件操作层面,需要选取恰当的通道与协议种类,即I²C。一旦启动采样,逻辑分析仪便开始记录相关数据。软件界面通常会实时展示波形图,为观察与分析提供便利。 关于I²C协议波形的解读,我们可以遵循以下步骤: 1. 总线处于空闲状态时:SCL与SDA均维持在高电平位置,这表明总线当前未进行数据传输。 2. 传输起始信号:当SCL处于高电平期间,SDA线从高电平转换至低电平,此动作标志着数据传输的开始。 3. 地址、数据及应答的识别:在每一个SCL高电平脉冲的持续时间内,SDA线上的电平状态代表了数据位。地址与数据的传输均为双向过程,而读写标识则由SDA线上的电平来...
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 在当前文档中,我们将详细研究在C#开发平台中借助BouncyCastle.Crypto库1.8.10版本达成中国的国家标准密码学方案,涵盖SM2、SM3以及SM4这几项技术。这些密码学方案在中国网络安全保障与数据维护领域具有核心地位,为本地化安全解决方案提供了坚实的技术支撑。 让我们首先掌握这三个国家密码算法的基本原理: 1. **SM2算法**:SM2是一种基于椭圆曲线密码体系(ECC)的公钥加密方案,主要用于数字签名和加密操作。它提供了一种高效且安全的身份确认和数据防护机制。 2. **SM3算法**:SM3是一种密码学哈希函数,与SHA-256类似,能够将任意长度的输入信息压缩为固定长度的摘要,常用于数据完整性的检验和确认。 3. **SM4算法**:SM4是一种分组密码方案,采用128位的分组大小和128位的密钥,适用于对称加密,广泛用于无线网络传输和存储数据的加密处理。 接下来,我们将逐步解析如何运用BouncyCastle.Crypto库在C#环境下实现这些密码学方案: **1. 引入库与配置开发环境** 在C#应用程序中,需要通过NuGet包管理工具或手动方式添加BouncyCastle库的引用。务必确保安装的是1.8.10版本。 ```csharp using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Security; ``` **2. 实施SM2的加签与解签** SM2的签名过程和验证操作涉及椭圆曲线运算。必须创建一个私...
源码下载地址: https://pan.quark.cn/s/28d95df2f2ec 在数字化时代的进程中,微信小程序凭借其便捷性、无需下载安装的优势,成为了移动互联网应用的热门选择。本篇将详细剖析“猫眼微信小程序源码”,展示其内部开发技术和设计思想,为计划从事微信小程序开发的人员提供重要的学习素材。猫眼微信小程序是一款融合了电影票务购买、影片资讯检索、影评交流等功能的娱乐软件,其源代码具有显著的学习意义。我们必须掌握微信小程序的基本构成。微信小程序由JSON配置文档、WXML结构文档、WXSS样式文档和JavaScript逻辑文档四个部分构成,这些部分共同创建了小程序的运行条件。 1. JSON配置文档:这是小程序的整体设置,包括小程序的基本要素,例如AppID、页面路由、网络请地址等。猫眼小程序的JSON配置文档或许包含了特定的功能配置,例如个性化主题色调、导航栏设计等,以达成其独特的视觉呈现。 2. WXML(WeiXin Markup Language):这是微信小程序的结构性语言,类似于HTML,用于构建页面的结构和布局。猫眼小程序的WXML文档中,可能包含了丰富的组件,如button(按钮)、view(视图容器)、image(图片)等,通过这些组件来设计出用户交互界面。 3. WXSS(WeiXin Style Sheet):这是微信小程序的样式定义语言,基于CSS,但包含一些扩展功能。猫眼小程序的WXSS文档中,可能会采用多种布局技术(如Flex布局)以及样式动画,以完成精细的UI设计和平滑的用户体验。 4. JavaScript逻辑文档:这是小程序的关键部分,负责处理业务流程和数据管理。猫眼小程序的JavaScript文档中,可能包含了接口调...

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧