Estoy comenzando el proyecto lein new
en clojure y quiero utilizar la biblioteca de extracción de artículos goose. Lamentablemente no pude encontrar el archivo jar de esa biblioteca en ningún repositorio maven disponible públicamente, así que me puse a agregarlo a un repositorio Maven local.Dependencias en los repositorios locales de maven con leiningen
En el directorio del proyecto, he copiado el tarro de ganso y sus pom.xml
archivos e hicieron
mkdir maven-repo
mvn install:install-file -Dfile=goose-2.1.6.jar -DartifactId=goose -Dversion=2.1.6 \
-DgroupId=local -Dpackaging=jar -DlocalRepositoryPath=maven-repo -DpomFile=pom.xml
Y añade lo siguiente al project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "maven-repo")))}
y [local/goose "2.1.6"]
en :dependencies
. Ahora cuando hago un lein deps
, obtengo el archivo ganso-2.1.6.jar agregado al directorio lib, pero no las dependencias de ganso. Se enumeran en el archivo pom.xml
del ganso.
¿Hay alguna forma de solucionar este problema que no sea enumerar las dependencias de ganso en mi project.clj
?
Sí, he visto su proyecto 'gravamen-localrepo' antes de recurrir al comando mvn larga. Elegí el mvn porque es solo un comando :). De todos modos, probaré este método también. ¿Me puede decir si esto obtendrá las dependencias de ganso cuando hago un 'lein deps'? –
Impresionante. Usando este método, obtengo las dependencias de gansos en mi directorio lib. ¿Podría explicarnos un poco más cuál es la diferencia? Muchas gracias, amigo :) –
Además, ¿cómo se supone que estas jarras locales están versionadas? Todo lo que puedo pensar es agregarlos en un directorio de proveedores y ejecutar los comandos locales de referencia anteriores en cada sistema en el que se clona este proyecto. ¿Alguna mejor manera? Se espera –