L'installation de HTTPBuilder pour Groovy
Excuses pour le newbie question, mais comment voulez-vous installer HTTPBuilder pour Groovy?
J'ai ajouté l'http-builder-0.7.jar, http-builder-0.7-source.jar et http-builder-0.7-javadoc.jar pour GROOVY_HOME/lib.
Est-il autre chose que je dois faire? Le HTTPBuilder site web n'est pas clair.
Code exécuté à partir d'GroovyConsole:
import groovy.grape.Grape
Grape.grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7' )
def http = new groovyx.net.http.HTTPBuilder('http://www.codehaus.org')
Je reçois cette réponse:
groovy.lang.MissingMethodException: No signature of method: static groovy.grape.Grape.grab() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String) values: [org.codehaus.groovy.modules.http-builder, http-builder, 0.7]
Possible solutions: grab(java.lang.String), grep(), grab(java.util.Map), grab(java.util.Map, [Ljava.util.Map;), wait(), dump()
EDIT 2:
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7' )
def http = new groovyx.net.http.HTTPBuilder('http://www.codehaus.org')
Réponse:
java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpRequestBase
at ConsoleScript6.run(ConsoleScript6:4)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpRequestBase
... 1 more
Ne pas le copier dans le dossier lib. Il fait tout ce que vous faites presque impossible à reproduire. Pourquoi ne pas utiliser un bon outil de construction comme gradle, et utiliser le générateur en tant que dépendance? Ou de l'utilisation d'un grappin d'annotation pour la récupérer si vous êtes en train d'écrire un script
Je les ai retirées du dossier lib. J'ai essayé d'utiliser de Raisin de GroovyConsole. Je vais modifier pour vous montrer ce que j'ai fait. J'ai tenté d'exécuter de Raisin.bat sur ma machine, mais il vient de ferme.
Avez-vous essayé de se débarrasser de votre importation et le remplacement de la prendre la ligne avec
Ou (encore plus court)
Je reçois une autre exception levée. Je suis en train de modifier le post pour vous montrer.
Je les ai retirées du dossier lib. J'ai essayé d'utiliser de Raisin de GroovyConsole. Je vais modifier pour vous montrer ce que j'ai fait. J'ai tenté d'exécuter de Raisin.bat sur ma machine, mais il vient de ferme.
Avez-vous essayé de se débarrasser de votre importation et le remplacement de la prendre la ligne avec
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7' )
Ou (encore plus court)
@Grab('org.codehaus.groovy.modules.http-builder:http-builder:0.7')
Je reçois une autre exception levée. Je suis en train de modifier le post pour vous montrer.
OriginalL'auteur James.Wyst | 2015-03-05
Vous devez vous connecter pour publier un commentaire.
L'exemple suivant fonctionne pour moi hors de la boîte:
Vous avoir à enlever la dépendance des pots que vous avez ajouté directement à GROOVY_HOME\lib. Ajouter manuellement les pots, il pourrait créer des conflits d'intérêts et la cause de ces types d'erreurs. Vérifier pour voir si vous avez ajouté manuellement le HttpClient bibliothèques de la lib, à les nettoyer et essayer de nouveau.
EDIT: Lors de l'utilisation de l'Ide, j'ai été en mesure de reproduire ce comportement une fois. J'ai déjà eu un seul
@Grab
annotation ajoutée à mon script Groovy. Quand j'ai ajouté un deuxième, il ne semble pas de télécharger ou d'importer la nouvelle bibliothèque.Tout d'abord, si vous ajoutez un deuxième
@Grab
, vous avez besoin d'envelopper dans la@Grapes
annotation comme suit (ma première erreur):Après, j'ai trouvé ma solution ici: Intellij IDÉE de ne pas importer les dépendances de @Saisir dans Groovy projet, ce qui explique que lors de l'utilisation de l'Ide, et que vous rencontrez ce problème, essayez de placer votre curseur à côté de la
@Grapes
annotation et en sélectionnant Alt+Entrée puis choisissez le 'Saisir les Artefacts option.Intellij partie est ce que j'ai été chercher!.. Et une fois que j'ai des artefacts résolu, importés avec
import groovyx.net.http.HTTPBuilder
et HTTPBuilder, est disponible pour l'utiliser commedef http = new HTTPBuilder('http://www.codehaus.org')
Le Alt-Enter approche ne fonctionnera pas si vous avez des erreurs de compilation dans la classe/script vous essayez de 'Saisir les Artefacts. Commenter temporairement toutes les références à HTTPBuilder ou d'autres lignes qui sont dans l'erreur et essayez le "Alt-Enter'--> " Grap les Artefacts option après.
OriginalL'auteur pczeus