2013-06-11 6 views
11

Je veux compiler un pot locale dans mon projet Clojure, je peux le faire facilement avec les éléments suivantsUtilisation Leiningen Avec référentiel local M2

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 

Mais j'ai une intégration continue et de construire serveur (jenkins) qui regarde dans ~/.m2. Comment puis-je obtenir leiningen à regarder dans .m2 ???

+0

Quelles erreurs obtenez-vous? Il devrait déjà regarder dans ~/.m2 par défaut. – deterb

+0

Je recevais l'exception dans le thread "main" java.io.FileNotFoundException: Impossible de localiser myapp/module__init.class ou myapp/module.clj sur classpath. –

+0

J'ai essayé d'installer mon projet en .m2 avec "lein pom", puis "mvn install", qui a copié les fichiers jars dans ~/.m2 mais la compilation a échoué. Donc, finalement, ce que j'ai fait était de forcer la construction des bibliothèques soeurs dans local_mvn_repo suite http://nakkaya.com/2010/03/16/adding-custom-libraries-into-local-leiningen-repository/ Fondamentalement, l'utilisation de projets de construction ensemble est Quelque chose que je suis encore totalement sûr de comprendre avec Leiningen. Quand utiliser l'astuce "nakkaya", et quand utiliser ~/.m2. Toujours flou! –

Répondre

8

Basé sur le documentation, il semble que la clé que vous recherchez est :local-repo dans project.clj. Puisque vous voulez avoir différents emplacements de dépôt local sur différents serveurs, je mettrais cela dans un profile par opposition à directement dans le project.clj.

Probablement la meilleure approche serait de créer un profil :user dans ~/.lein/profiles.clj sur quelle que soit la machine que vous souhaitez modifier l'emplacement du dépôt local:

{:user {:local-repo "repo"}} 
Questions connexes