Question

si j'ENABLE Eith la clojure-CouchDB ou Swank-clojure puis lein deps échoue parce que org.apache.maven: super-pom: pot: 2.0 manque

:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
               [org.clojure/clojure-contrib "1.0-SNAPSHOT"]
               [clojure-http-client "1.0.0-SNAPSHOT"]
               [org.apache.activemq/activemq-core "5.3.0"]
;              [org.clojars.the-kenny/clojure-couchdb "0.1.3"]
;              [org.clojure/swank-clojure "1.1.0"]
              ])

cette erreur:

  Path to dependency: 
1) org.apache.maven:super-pom:jar:2.0
2) org.clojure:swank-clojure:jar:1.1.0

----------
1 required artifact is missing.

for artifact: 
 org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:  
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)

ce qui est super-pom. pourquoi ces paquets ont besoin et où je peux l'obtenir.

Était-ce utile?

La solution

Je pense que cela signifie simplement que Maven n'a pas été en mesure de satisfaire les dépendances spécifiées. J'ai vérifié qu'il n'y a pas artefact org.clojure/swank-clojure dans l'un des trois référentiels votre message mentionne. Pour clojure-CouchDB, la version que vous utilisez - pour autant que je peux dire de regarder son fichier project.clj sur GitHub. - dépend org.clojure/clojure-http-client "1.0.0-SNAPSHOT", qui n'existe pas dans les prises en pension soit

Une façon de contourner ce problème est d'installer les pots que vous voulez dans votre repo local. ( Je ne peux pas sembler se rappeler la commande exacte ... va chercher dans une minute. Voir par exemple cette page pour les instructions.) Puis Maven vient les chercher à partir de là.

(BTW, si vous souhaitez utiliser Clojure + contrib 1.1.0, vous pouvez simplement utiliser "1.1.0" comme les chaînes de version maintenant. Voilà pour les org.clojure/clojure et org.clojure/clojure-contrib.)

Oh, et à propos du super POM - de cette page dans les docs de Maven:

  

Le Super POM est par défaut de Maven POM. Tous les POMs étendent le Super POM à moins définir explicitement, ce qui signifie la configuration spécifiée dans le Super POM est héritée par les POMs créés pour vos projets.

En ce qui concerne la façon dont il est entré dans votre message d'erreur, je n'ai honnêtement aucune idée. Vous pouvez ajouter le tag « maven » à cette question ou tout simplement poser une question séparée avec cette étiquette pour obtenir des gourous Maven sur elle.

Autres conseils

Je pense qu'il est encore fréquent que les projets ont des dépendances cassées. Il est regrettable, parce que ce vraiment l'expérience mars.

Ma solution est d'aller sur http://clojars.org et la recherche de la bibliothèque dont j'ai besoin. En général, il y a quelques versions. Je fais une petite recherche sur http://github.com pour voir qui est le plus à jour. Ensuite, j'essaie que l'on en tant que dépendance. Si cela fonctionne, super! Sinon, j'essayer un autre.

Il est un long processus, mais je pense qu'il est mieux. Vous auriez dû voir le processus avant!

Je reçois la même erreur sur la dépendance super-pom maven, et quand je fais

$ sudo lein deps

Il fonctionne sans erreur. Pas une solution idéale, mais ça marche pour moi.

J'ai accidentellement téléchargé Swank-clojure au groupe org.clojure il y a environ un an. Je supprimé peu de temps après que je ne suis pas associé à ce groupe, donc c'est la raison pour laquelle il ne peut pas être trouvé. Puis-je demander où vous avez trouvé les instructions avec la version erronée de sorte qu'il peut être corrigé?

J'ai eu un problème similaire avec lein anneau provoquant une erreur de dépendance à l'égard de org.apache.maven:super-pom. Il s'avère que la question était que M2_HOME a été fixé à une version de Maven j'utiliser pour le travail. MHS M2_HOME résolu le problème. Il semble que Leiningen ne joue pas bien avec les implémentations de Maven étranges.

Avec Ubuntu 10.10 x86_64, avec lein DEPS, je reçois ennuyeux ... 5 artefacts requis sont manquants.

pour l'artefact:

org.apache.maven:super-pom:jar:2.0

... mais les commandes

sudo LEIN_ROOT=1 ~/bin/lein deps;
sudo chown -R $USER:$USER lib 

faire le travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top