Pregunta

si habilito clojure-couchdb o swank-clojure entonces lein deps falla porque falta org.apache.maven:super-pom:jar:2.0

: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"]
              ])

este error:

  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)

¿Qué es el superpom?¿Por qué estos paquetes lo necesitan y dónde puedo conseguirlo?

¿Fue útil?

Solución

Creo que esto sólo significa que Maven no era capaz de satisfacer las dependencias que ha especificado. He comprobado que no hay artefacto org.clojure/swank-clojure en cualquiera de los tres repositorios su mensaje menciona. Para clojure-couchdb, la versión que está utilizando - por lo que yo puedo decir de mirar su archivo project.clj en GitHub -. depende de org.clojure/clojure-http-client "1.0.0-SNAPSHOT", que no existe en los repositorios o bien

Una forma de evitar este problema es instalar los frascos que desee en tu repositorio local. ( Me parece que no puede recordar el comando exacto ... va a mirar hacia arriba en un minuto. Ver por ejemplo, esta página para obtener instrucciones.) Entonces Maven simplemente recogerlos de allí.

(Por cierto, si desea utilizar Clojure + contrib 1.1.0, sólo puede utilizar "1.1.0" como las cadenas de versión ahora. Eso es para tanto org.clojure/clojure y org.clojure/clojure-contrib.)

Ah, y sobre los súper - POM de esta página en documentos de Maven:

  

El Super POM es por defecto de Maven POM. Todos los POM POM se extienden al Super menos que establecer explícitamente, es decir, la configuración especificada en el Super POM es heredado por las POM que ha creado para sus proyectos.

En cuanto a la forma en que se metió en su mensaje de error, no tengo ni idea de honestidad. Se podría añadir la etiqueta "experto" a esta pregunta o simplemente hacer una pregunta separada con esa etiqueta para obtener algunos gurús de Maven en la misma.

Otros consejos

Creo que es todavía común que los proyectos se han roto las dependencias. Es una pena, porque realmente estropea la experiencia.

Mi solución es ir a http://clojars.org y la búsqueda de la biblioteca que necesito. Por lo general, hay algunas versiones. Hago un poco de investigación sobre http://github.com para ver cuál es la más actualizada. Entonces trato que uno como dependencia. Si funciona, genial! De lo contrario, trato de otro.

Es un proceso largo, pero creo que es cada vez mejor. Usted debe haber visto el proceso antes!

Estoy recibiendo el mismo error en la dependencia super-pom experto, y cuando lo haga

$ sudo lein deps

Se ejecuta sin error. No es una solución ideal, pero funciona para mí.

Por error, he subido Swank-clojure al grupo org.clojure hace aproximadamente un año. He eliminado poco después ya que no estoy asociado con ese grupo, así que por eso no se puede encontrar. ¿Puedo preguntar dónde has encontrado las instrucciones con la versión errónea por lo que se puede corregir?

I tenía un problema similar con Lein-ring causando un fallo de la dependencia con respecto a org.apache.maven:super-pom. Resulta que el problema era que M2_HOME se establece en una versión de Maven que utilizo para el trabajo. M2_HOME desarmado ha solucionado el problema. Parece que Leiningen no juega agradable con implementaciones Maven extraños.

Con Ubuntu 10.10 x86_64, con deps Lein, me molesta ... 5 artefactos necesarios están desaparecidos.

de artefacto:

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

... pero los comandos

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

hacer el trabajo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top