我正在研究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