You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在NetBeans中使用Uni-rest发送短信遇NoClassDefFoundError问题求助

解决Unirest发送短信时的NoClassDefFoundError问题

嘿,我来帮你搞定这个头疼的问题!你遇到的NoClassDefFoundError: org/apache/http/HttpEntity绝对是依赖Jar包没正确配置导致的——Unirest底层完全依赖Apache HttpComponents这套库,要是这些关键Jar没被项目正确识别,运行时就找不到对应的类,自然会报错。咱们来一步步排查你可能的操作失误:

一、如果是手动添加Jar包的情况

  • 没加全依赖Jar:别只加Unirest的核心Jar(比如unirest-java-xxx.jar)!它还需要一堆Apache Http的配套Jar,比如httpclient.jar、httpcore.jar、httpmime.jar、commons-logging.jar这些,少一个都不行。你得去Unirest的官方发布页把完整的依赖包都下载下来。
  • Jar包没加入构建路径:很多人手动放Jar到项目文件夹就完事了,但IDE根本不会自动识别!比如Eclipse里,要右键项目 → Build Path → Add to Build Path;IntelliJ的话,把Jar放到项目的lib目录,然后右键Jar文件 → Add as Library,这样IDE才会把这些Jar纳入编译和运行环境。
  • 版本不兼容:Unirest的不同版本对应不同的HttpComponents版本,要是你随便找个Http的Jar凑合用,很可能出现类不匹配。建议选Unirest官方推荐的依赖版本,比如Unirest v1.4.9对应HttpComponents 4.5.13系列。

二、如果是用Maven/Gradle管理依赖

这其实是更省心的方式,能自动帮你拉取所有依赖:

  • 检查依赖配置是否正确:以Maven为例,你的pom.xml里得正确引入Unirest的依赖:
<dependency>
    <groupId>com.mashape.unirest</groupId>
    <artifactId>unirest-java</artifactId>
    <version>1.4.9</version>
</dependency>

加入这个依赖后,Maven会自动下载所有需要的HttpComponents子Jar,不用手动折腾。要是你之前手动加过Jar,建议删掉,避免依赖冲突。

  • 刷新依赖:有时候IDE不会自动同步Maven/Gradle的依赖,你得手动触发刷新——比如IntelliJ点右上角的Reload All Maven Projects,Eclipse点Maven → Update Project。

小提示

要是你不确定自己漏了哪些Jar,可以把项目的依赖列表和Unirest官方文档里的依赖清单对比一下,确保一个都没少。

按照上面的步骤排查一遍,应该就能解决这个NoClassDefFoundError啦!

内容的提问来源于stack exchange,提问作者fahad pirzada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:18:35