我正在研究eclipse中的一个简单的java应用程序,它将在btc-e.com上为我做一笔交易。我刚刚写了一个交易方法,这是一堆编译时错误。我使用Apache httpcore和httpclient。我似乎无法弄清楚为什么它不起作用。我非常感谢任何帮助;我现在很困惑。 这些是我包括在构建路径的JAR文件:java btc贸易应用程序编译时错误(HTTP组件)
- 的HttpCore-4.4.1.jar
- 的HttpClient-4.5.jar
这是代码:
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.*;
import org.apache.http.impl.client.DefaultHttpClient;
public class Trade {
public static void buy(double rate, double amount) throws ClientProtocolException, IOException{
Calendar now = Calendar.getInstance();
long nonce = (now.getTimeInMillis()/1000);
String api_key= "00000000-00000000-00000000-00000000-00000000";
String api_secret = "---------------------------------------";
//Create a new HttpClient and Post Header
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://btc-e.com/tapi");
// 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);
try {
httppost.setEntity(new UrlEncodedFormEntity((List<NameValuePair>) params));
// Execute HTTP Post Request
HttpResponse response = client.execute(httppost);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这里是编译时错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.http.impl.client.CloseableHttpClient.(CloseableHttpClient.java:58) at org.apache.http.impl.client.AbstractHttpClient.(AbstractHttpClient.java:287) at org.apache.http.impl.client.DefaultHttpClient.(DefaultHttpClient.java:147) at Trade.buy(Trade.java:31) at Main.main(Main.java:10) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more