2013-06-11 4 views
11

ich einem lokalen Glas in mein clojure Projekt kompilieren will, kann ich dies tun, einfach mit den folgendenVerwenden Leiningen mit lokal M2 Repository

https://gist.github.com/stuartsierra/3062743

mkdir repo 
mvn install:install-file -DgroupId=local -DartifactId=bar \ 
    -Dversion=1.0.0 -Dpackaging=jar -Dfile=bar.jar \ 
    -DlocalRepositoryPath=repo 

Aber ich habe eine kontinuierliche Integration und Build-Server (Jenkins), die in ~/.m2 aussieht. Wie kann ich leiningen bekommen, um nachzuschauen.

+0

Welche Fehler werden Sie bekommen? Es sollte bereits standardmäßig in ~/.m2 gesucht werden. – deterb

+0

Ich war immer die Exception in thread "main" java.io.FileNotFoundException: Kann nicht myapp/module__init.class oder myapp/module.clj auf Classpath finden. –

+0

Ich habe versucht, mein Projekt in .m2 mit „lein pom“ und dann „mvn install“ installieren, welche die Gläser zu ~/.m2 aber die Build noch immer nicht kopiert haben. So schließlich, was ich tat, war die Geschwister Bibliotheken zwingen, in local_mvn_repo gebaut werden folgende http://nakkaya.com/2010/03/16/adding-custom-libraries-into-local-leiningen-repository/ Grundsätzlich Gebäude mit Projekten gemeinsam ist etwas, das ich immer noch nicht ganz sicher bin, verstehe ich mit Leiningen. Wann man den "nakkaya" Trick benutzt und wie man ~/.m2 benutzt. Immer noch verschwommen! –

Antwort

8

Basierend auf der documentation, sieht es aus wie der Schlüssel, nach dem Sie suchen, ist :local-repo in project.clj. Da Sie verschiedene lokale Repository-Positionen auf verschiedenen Servern haben möchten, würde ich dies im Gegensatz in einem profile setzen, um direkt in den project.clj.

Wahrscheinlich der beste Ansatz wäre ein :user Profil in ~/.lein/profiles.clj auf erstellen Unabhängig davon, welche Maschine Sie den Speicherort des lokalen Repository ändern:

{:user {:local-repo "repo"}} 
Verwandte Themen