2013-06-11 24 views
11

Tôi muốn biên dịch một bình địa phương vào dự án clojure của tôi, tôi có thể làm điều này một cách dễ dàng với những điều sauSử dụng Leiningen Với Local 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 

Nhưng tôi có một tích hợp liên tục và xây dựng máy chủ (jenkins) trông trong ~/.m2. Làm thế nào tôi có thể nhận được leiningen để tìm trong .m2 ???

+0

là bạn nhận được gì sai sót? Nó đã được tìm kiếm trong ~/.m2 theo mặc định. – deterb

+0

Tôi đã nhận được ngoại lệ trong chủ đề "chính" java.io.FileNotFoundException: Không thể định vị myapp/module__init.class hoặc myapp/module.clj trên classpath. –

+0

Tôi đã thử cài đặt dự án của mình bằng .m2 với "lein pom" và sau đó "mvn install", đã sao chép các lọ thành ~/.m2 nhưng bản dựng vẫn không thành công. Vì vậy, cuối cùng những gì tôi đã làm là buộc các thư viện anh chị em phải được xây dựng trong local_mvn_repo sau http://nakkaya.com/2010/03/16/adding-custom-libraries-into-local-leiningen-repository/ Về cơ bản sử dụng các dự án xây dựng với nhau là một cái gì đó im vẫn hoàn toàn chắc chắn tôi hiểu với Leiningen. Khi nào sử dụng thủ thuật "nakkaya" và khi nào thì sử dụng ~/.m2. Vẫn còn mờ! –

Trả lời

8

Dựa trên documentation, có vẻ như khóa bạn đang theo sau là :local-repo trong project.clj. Vì bạn muốn có các vị trí lưu trữ cục bộ khác nhau trên các máy chủ khác nhau, tôi sẽ đặt số này vào một số profile trái với trực tiếp trong số project.clj.

Có lẽ cách tiếp cận tốt nhất là để tạo ra một hồ sơ cá nhân :user trong ~/.lein/profiles.clj trên máy tính nào bạn muốn thay đổi vị trí của các kho lưu trữ địa phương:

{:user {:local-repo "repo"}} 
Các vấn đề liên quan