2010-07-18 2 views
10

Ho aggiunto il .jars alla mia libreria e posso anche creare un'istanza di altre classi nel JAR. Cosa dà? Ho provato a pulire il progetto ecc.Impossibile istanziare il tipo HttpClient

Si tratta di un errore del compilatore. Eclipse non mi permetterà di istanziarlo.

Sto importando la libreria corretta, non la versione sole, e utilizzando il contructor predefinita, prescritto dal tutorial

HttpClient client = new HttpClient(); 

(Eclipse, Mac, Apache HTTP, "HttpClient 4.0.1 (GA) "scaricato da here)

+0

Si prega di incollare l'errore del tempo di compilazione nella domanda. – Asaph

+0

Spostato da "Risposta" 1. Possiamo avere il messaggio di errore? 2. Stai lavorando in un IDE? 3. Sapete che ci sono delle differenze tra la compilazione, il runtime IDE, il runtime dell'applicazione? 4. Non dovrebbe essere un problema Mac. – yclian

+0

Vedere http://stackoverflow.com/questions/7960149/cannot-instantiate-the-type-listproduct – Raedwald

risposta

26

HttpClient è un'interfaccia in 4.x, utilizzare DefaultHttpClient per le istanze.

HttpClient httpclient = new DefaultHttpClient(); 
+10

'Attenzione: il tipo DefaultHttpClient è deprecato' – Mike

+3

è ridicola la loro documentazione e la guida introduttiva continua a non menzionarlo, basta dire dice 'Il costruttore no argument di HttpClient fornisce un buon set di valori predefiniti per la maggior parte delle situazioni, quindi questo è ciò che useremo. HttpClient client = new HttpClient(); ' – edthethird

+2

DefaultHttpClient è deprecato – Dinuka

3
HttpClient client = new DefaultHttpClient(); 

Essi non hanno documentato questo ovunque sul sito web, ma ho importato la sorgente e il javadoc, e questo era l'esempio nel Javadoc per la classe HttpClient.

+0

Essere consapevoli di infrangere variazioni di tali progetti, controllare sempre per la versione corretta durante la lettura documentazione, tutorial, ecc buon design API è difficile, ed evitando di rottura modifiche anche più difficile, sfortunatamente. –

+1

Penso che rimarrò con quello precedente, dal momento che tutte le esercitazioni sono 3.x –

+0

http://hc.apache.org/httpcomponents-client/tutorial/html/ –

0

Mettete la vostra attenzione sul fatto che, in base alle vostre esigenze, dovreste istanziare httpCleint con HttpParams e/o gestore connessioni. Può essere utile in caso di accesso thultithreading, quando le impostazioni predefinite non si adattano.

È possibile trovare maggiori informazioni nella documentazione qui http://hc.apache.org/httpcomponents-client-ga/