Sto iniziando il progetto lein new
in clojure e voglio usare la libreria di estrazione articolo goose. Purtroppo non sono riuscito a trovare il barattolo di quella libreria su nessun repository di maven disponibile pubblicamente, quindi ho deciso di aggiungerlo a un repository di maven locale.Dipendenze in repository locali generici con leiningen
nella directory del progetto, ho copiato il vaso d'oca ei suoi file pom.xml
e ha fatto
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
E aggiunto il testo seguente project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "maven-repo")))}
e [local/goose "2.1.6"]
in :dependencies
. Ora quando faccio un lein deps
, ottengo il file Goose-2.1.6.jar aggiunto alla directory lib, ma non le dipendenze di goose. Sono elencati nel file pom.xml
dell'oca.
C'è un modo per risolvere questo problema oltre a elencare le dipendenze di goose nel mio project.clj
?
Sì, ho visto il progetto 'lien-localrepo' prima di ricorrere al lungo comando mvn. Ho scelto la MVN perché è solo un comando :). Comunque, proverò anche questo metodo. Potete dirmi se questo otterrà le dipendenze di oca quando faccio un 'lein deps'? –
Fantastico. Usando questo metodo, ottengo le dipendenze dell'oca nella mia directory lib. Potresti spiegare un po 'di più qual è la differenza? Grazie mille uomini :) –
Inoltre, come si suppone che questi vasi locali siano versionati? Tutto quello che posso pensare è di aggiungerli in una directory del fornitore ed eseguire i suddetti comandi localrepo su ogni sistema che questo progetto è clonato. Qualche modo migliore? –