12
votes

Ne peut pas instancier le type httpclient

J'ai ajouté les .jars à ma bibliothèque et je peux également instancier d'autres classes dans le pot. Ce qui donne? J'ai essayé de nettoyer le projet, etc.

C'est une erreur de compilateur. Eclipse ne me laissera pas l'instancier.

J'importe la version correcte, pas la version Sun, et à l'aide du contructeur par défaut, spécifié par leur tutoriel xxx

(Eclipse, Mac, Apache http," httpclient 4.0.1 (GA) "Téléchargé de ici )


3 commentaires

Veuillez coller l'erreur de la compilation dans votre question.


Déplacé de "Réponse" 1. Pouvons-nous avoir le message d'erreur? 2. Travaillez-vous dans une IDE? 3. Savez-vous qu'il existe des différences entre la compilation, l'exécution de l'IDE, l'exécution de l'application? 4. Ce ne devrait pas être un problème Mac.


Voir Stackoverflow.com/questions/7960149/...


4 Réponses :


27
votes

httpclient code> est une interface dans 4.x, utilisez défaulthttpclient code> pour les instances.

HttpClient httpclient = new DefaultHttpClient();


3 commentaires

AVERTISSEMENT: le type DEFAULTHTTPCLIPT est obsolète


C'est Goofy leur documentation et leur guide de démarrage ne mentionne toujours pas cela, il suffit de dire que Le constructeur sans argument de httpClient fournit un bon ensemble de défauts pour la plupart des situations, c'est ce que nous allons utiliser. Client httpClient = Nouveau httpClient ();


DefaulthttpClient est obsolète



3
votes
HttpClient client = new DefaultHttpClient();
They haven't documented this anywhere on the website, but I've imported the source, and the javadoc, and this was the example in the Javadoc for the HttpClient class.

2 commentaires

Soyez conscient de casser les changements de tels projets, vérifiez toujours la version correcte lors de la lecture de documents, de didacticiels, etc. Bon conception de l'API est difficile et évitez de rompre les changements encore plus difficiles, malheureusement.


Je pense que je vais coller avec l'héritage, car tous les tutoriels sont 3.x



0
votes

Mettez à Ayour Attention, en fonction de vos exigences, vous devez insérer httpcleint avec httpparams et / ou responsable de la connexion. Il peut être utile en cas d'accès à Thulthreading, lorsque les paramètres par défaut ne correspondent pas.

Vous pouvez trouver plus d'informations dans la documentation ici http://hc.apache.org/httpComponents -Client-GA /


0 commentaires

9
votes

Si vous utilisez 4.3, une solution d'initialisation est la suivante:

CloseableHttpClient httpclient = HttpClients.createDefault();


0 commentaires