Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确导入类:来自ApacheCommons的Http客户端_Java_Eclipse_Http_Apache Httpcomponents - Fatal编程技术网

Java 如何正确导入类:来自ApacheCommons的Http客户端

Java 如何正确导入类:来自ApacheCommons的Http客户端,java,eclipse,http,apache-httpcomponents,Java,Eclipse,Http,Apache Httpcomponents,我开始学习java,并且在使用Http方法时遇到了难以置信的困难,我认为这些方法是从ApacheCommons获得的。我正在尝试制作一个可以在btc-e.com上进行比特币交易的类 我下载了HTTPComponents客户端,然后在我的项目的构建路径中包含了所有的.jar文件。但出于某种原因,eclipse仍然无法识别其中的一些方法。具体来说,HttpUtils是不可识别的 有人能告诉我如何在代码中正确地包含这些类的一步一步的过程吗?我真的是个新手,花了6个多小时试图弄明白这一点 这是我的要点:

我开始学习java,并且在使用Http方法时遇到了难以置信的困难,我认为这些方法是从ApacheCommons获得的。我正在尝试制作一个可以在btc-e.com上进行比特币交易的类

我下载了HTTPComponents客户端,然后在我的项目的构建路径中包含了所有的.jar文件。但出于某种原因,eclipse仍然无法识别其中的一些方法。具体来说,HttpUtils是不可识别的

有人能告诉我如何在代码中正确地包含这些类的一步一步的过程吗?我真的是个新手,花了6个多小时试图弄明白这一点

这是我的要点:

public static int Buyy(double rate, double amount){

    Calendar now = Calendar.getInstance();
    long nonce = ( now.getTimeInMillis()/1000);
    String api_key= " ";
    String api_secret = " ";
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.btc-e.com/tapi");

    try {
        // Add data
        HashMap params = new HashMap();
        params.put("method", "Trade");
        params.put("pair", "btc_usd");
        params.put("type", "buy");
        params.put("rate", rate);
        params.put("amount", amount);
        params.put("nonce", nonce);

        HashMap headers = new HashMap();
        headers.put("Contnent-type", "x-www-form-urlencoded");
        headers.put("key", api_key);
        headers.put("sign", api_secret);
        httppost.setEntity(new UrlEncodedFormEntity(params));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }


}
具体来说,我得到的错误是: -无法解析导入org.apache.http.client.methods.HttpResponse

-无法将HttpResponse解析为类型

-无法解析类型org.apache.http.HttpResponse。它是从必需的.class文件间接引用的

-无法解析类型org.apache.http.entity.StringEntity。它是从必需的.class文件间接引用的

我认为这意味着我没有导入所有需要导入的文件?我不知道该怎么做,也不知道我需要哪一个。我真的迷路了

谢谢!我真的很感谢你的帮助。我正在使用Eclipse

这是我已经导入的内容:

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Hex;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpResponse;
import org.apache.http.impl.client.DefaultHttpClient;

对于
HttpResponse
我认为导入应该是

import org.apache.http.HttpResponse;
而不是

import org.apache.http.client.methods.HttpResponse;
第二个API中似乎不存在


还要检查您是否在构建路径中包含了HttpCore和HttpClient的JAR。

您使用哪个IDE以及如何编译代码?我使用的是eclipse。正是在eclipse中,我将.jar文件添加到构建路径中。将ApacheJAR文件移动到Java构建路径的“Order and Export”选项卡的列表顶部。可能与构建路径中包含的JAR文件有冲突。您也可以在构建路径中列出JAR文件谢谢!我还没有从httpCore添加jar。这消除了大部分错误消息,但我仍然得到这行的erorr:HttpResponse response=httpclient.execute(httppost);错误显示:类型的方法execute(HttpPost)未定义HttpClient@adamjts你修复了HttpResponse的导入吗?是的,我将导入更改为你建议的导入。这些都是apache导入:import org.apache.commons.httpclient.httpclient;导入org.apache.http.HttpRequest;导入org.apache.http.HttpResponse;导入org.apache.http.NameValuePair;导入org.apache.http.client.ClientProtocolException;导入org.apache.http.client.entity.UrlEncodedFormEntity;导入org.apache.http.client.methods.HttpPost;您导入的
HttpClient
不正确:您有
import org.apache.commons.HttpClient.HttpClient
并且应该是
import org.apache.http.client.HttpClient。您是否在项目中混合了来自ApacheCommons和ApacheHttpComponents的JAR文件?不要在构建路径中包含太多JAR文件,您只需要httpcore和httpclient。