Tôi đang bắt đầu dự án lein new
trong clojure và muốn sử dụng thư viện trích xuất bài viết goose. Thật không may, tôi không thể tìm thấy cái lọ của thư viện đó trên bất kỳ kho lưu trữ maven công khai nào, vì vậy tôi đã đặt nó vào kho lưu trữ maven cục bộ.Các phụ thuộc trong kho lưu trữ cục bộ maven với leiningen
Trong thư mục dự án, tôi đã sao chép jar ngỗng và pom.xml
file của nó và đã làm
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
Và thêm vào phần sau đây để project.clj
:repositories {"local" ~(str (.toURI (java.io.File. "maven-repo")))}
và [local/goose "2.1.6"]
trong :dependencies
. Bây giờ khi tôi làm một lein deps
, tôi nhận được tệp goose-2.1.6.jar được thêm vào thư mục lib, nhưng không phải là phụ thuộc của ngỗng. Chúng được liệt kê trong tập tin pom.xml
của ngỗng.
Có cách nào để tôi có thể sửa lỗi này ngoài liệt kê phụ thuộc của ngỗng trong số project.clj
của tôi không?
Có, tôi đã thấy dự án 'lien-localrepo' của bạn trước khi sử dụng lệnh mvn dài. Tôi đã chọn mvn vì nó chỉ là một lệnh :). Dù sao, tôi cũng sẽ thử phương pháp này. Bạn có thể cho tôi biết nếu điều này sẽ nhận được sự phụ thuộc của ngỗng khi tôi làm một 'lein deps'? –
Tuyệt vời. Sử dụng phương pháp này, tôi nhận được sự phụ thuộc của ngỗng trong thư mục lib của tôi. Bạn có thể giải thích thêm một chút về sự khác biệt không? Cảm ơn một người đàn ông bó hoa :) –
Ngoài ra, các lọ địa phương này phải được phiên bản như thế nào? Tất cả những gì tôi có thể nghĩ đến là thêm chúng vào một thư mục vendor và chạy các lệnh localrepo ở trên trên mỗi hệ thống mà dự án này được nhân bản. Có cách nào tốt hơn không? –