使用简单的Apache HttpClient Eclipse项目的NoClassDefFoundError

时间:2012-03-07 22:02:02

标签: java eclipse httpclient apache-commons noclassdeffounderror

我正在尝试创建一个简单的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();
   }
}

为什么我收到此错误?

1 个答案:

答案 0 :(得分:9)

从版本4开始,HttpClient分为三部分,分别在HttpComponents名字对象:Core,正确的Client和AsyncClient下。 HttpParams类现在是HttpComponents Core的一部分,因此您还需要该组件的特定JAR(假设名为httpcore-4.1.3.jar),以便成功编译您的简单示例。