我正在尝试创建一个简单的Eclipse项目来测试使用HttpClient
代码的代码。
我在Eclipse中创建了一个普通的Java项目,添加了一个Junit4测试用例(下面的代码。)我将httpclient-4.1.3.jar
添加到我从Maven Central here手动下载的Eclipse项目中并添加了jar到Java构建路径。
测试运行时,出现以下错误:
java.lang.NoClassDefFoundError: org/apache/http/params/HttpParams at HttpClientDemo.test(HttpClientDemo.java:13)
HttpClientDemo很简单:
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.junit.Test;
public class HttpClientDemo {
@Test public void test() {
HttpClient httpclient = new DefaultHttpClient();
}
}
为什么我收到此错误?
答案 0 :(得分:9)
从版本4开始,HttpClient分为三部分,分别在HttpComponents名字对象:Core,正确的Client和AsyncClient下。 HttpParams
类现在是HttpComponents Core的一部分,因此您还需要该组件的特定JAR(假设名为httpcore-4.1.3.jar
),以便成功编译您的简单示例。