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

运行RestAssured测试代码时遭遇NoClassDefFoundError错误求助

解决RestAssured初始化时的NoClassDefFoundError: HttpMultipartMode

这个问题我之前在搭建RestAssured测试框架时也碰到过,本质就是项目缺少了Apache HttpClient的multipart处理依赖,导致RestAssured在初始化配置类的时候找不到org.apache.http.entity.mime.HttpMultipartMode这个核心类。

先看你抛出的错误栈:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/entity/mime/HttpMultipartMode
at io.restassured.config.HttpClientConfig.(HttpClientConfig.java:85)
at io.restassured.config.RestAssuredConfig.(RestAssuredConfig.java:41)
at io.restassured.RestAssured.(RestAssured.java:421)
at restApiTutorial.basics.main(basics.java:13)
Caused by: java.lang.ClassNotFoundException: org.apache.http.entity.mime.HttpMultipartMode
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)

具体解决方案

根据你的构建工具,添加对应的依赖即可:

1. Maven项目

在pom.xml的<dependencies>节点中加入httpmime依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.5.14</version> <!-- 建议和你RestAssured依赖的httpclient版本保持一致,避免版本冲突 -->
</dependency>

2. Gradle项目

在build.gradle的依赖块中添加:

implementation 'org.apache.httpcomponents:httpmime:4.5.14'

3. 手动导入Jar包

如果是没有用构建工具的项目,需要下载Apache官方提供的httpmime.jar包以及它的依赖httpclient.jar,放到项目的lib目录并添加到类路径中。

注意事项

  • 确保httpmime的版本和RestAssured依赖的httpclient版本匹配:如果RestAssured用的是HttpClient 4.x系列,就用4.x的httpmime;如果是5.x系列,就对应5.x的httpmime(比如org.apache.httpcomponents.client5:httpclient5-mime)。
  • 添加依赖后,记得刷新项目的依赖缓存,确保Jar包被正确下载并加载到类路径中。

内容的提问来源于stack exchange,提问作者Kartikey Bajpai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 07:54:08