报错信息:"java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/hc/client5/http/async/methods/SimpleRequestBuilder"
引入阿里云短信的配置文件
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
<version>${aliyun.sms.version}</version>
</dependency>
导入import org.apache.hc.client5.http.async.methods.SimpleRequestBuilder;发现找不到该类。
通过排查发现时发现springboot中管理了httpclient5的版本依赖,替换掉了阿里云短信中的httpclient5的版本依赖。
覆盖SpringBoot中httpclient5的版本。
注意:httpclient5依赖一定要放在SpringBoot依赖的上面
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.1.3</version>
</dependency>
<!--阿里云短信-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
<version>${aliyun.sms.version}</version>
</dependency>
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.14</version>
<type>pom</type>
<scope>import</scope>
</dependency>
再次测试发送短信:
短信发送成功!
报错信息:"java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/hc/client5/http/async/methods/SimpleRequestBuilder"通过排查发现时发现springboot中管理了httpclient5的版本依赖,替换掉了阿里云短信中的httpclient5的版本依赖。注意:httpclient5依赖一定要放在SpringBoot依赖的上面。
解决:
java
.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
java
.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
当你运行服务器时,报出以上错误解决方案:
最近项目中要求在注册中写一个
短信
验证,然后我使用
java
Servlet+jsp+jquery.ajax等技术完成了
但是在运行过程中出了一个异常,这个异常的错误我寻找了一上午。发现了以下几种解决方案
接入
阿里云
短信
服务,
阿里云
官网提供对应代码,可以自己看:
阿里云
短信
API概览
注册一个账号进行开通,开通不需要钱。现在个人无法进行申请
短信
签名与模板进行测试了,需要你有备案的网站才可以进行申请。
为保证账号安全,
短信
需要使用的属性我将放在 yml 文件里面进行引用。
1. 老版
JAVA
_SDK
短信
服务整合
直接上代码
* 描述:
*
java
-to-learn-
阿里云
短信
服务
* @Author YanXin
* @create 2021-06-09 22:14
@Requ
怎么解决
java
.lang.NoClassDefFoundError错误
ClassNotfoundException VS NoClassDefFoundError
ClassNotfoundException时在编译时JVM加载不到类或者找不到类导致的;
而NoClassDefError是在运行时JVM加载不到类或者找不到类
1.一种情况就是因为静态变量加载不到原因
NoClassDefFoundError错误产生的原因是:JVM在编译的时候能找到调用方法或静态变量所在的类,但在运行的时候找不到此类而引
NoClassDefFoundError
最近在使用 Redisson 框架实现分布式锁的时候,在项目启动之后,
报错
:
类的定义没有找到, 根本原因是 ClassNotFoundException , 但是在编译的时候,并没有
报错
,运行本地的测试类来进行创建对应的对象也没有问题
创建的测试类如下,
import org.junit.Test;
import org.redisson.Redisso...