Зависимости в maven локальных репозиториях с leiningen - PullRequest
7 голосов
/ 05 января 2012

Я запускаю lein new проект в ближайшем будущем и хочу использовать библиотеку извлечения статей goose . К сожалению, я не смог найти банку этой библиотеки в каком-либо общедоступном репозитории maven, поэтому решил добавить его в локальный репозиторий maven.

В каталоге проекта я скопировал гусиную флягу и pom.xml файлы и сделал

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

И добавил следующее к project.clj

:repositories {"local" ~(str (.toURI (java.io.File. "maven-repo")))}

и [local/goose "2.1.6"] в :dependencies. Теперь, когда я делаю lein deps, я получаю файл goose-2.1.6.jar, добавленный в каталог lib, но не зависимости от goose. Они перечислены в файле pom.xml гуся.

Есть ли способ исправить это, кроме перечисления зависимостей гуся в моем project.clj?

1 Ответ

12 голосов
/ 05 января 2012

Вы можете использовать lein-localrepo вместо команды longy mvn: https://github.com/kumarshantanu/lein-localrepo

Установить так:

lein localrepo coords target/goose-2.1.6.jar | xargs lein localrepo install

Однако само по себе это не поможет установить файл POM в репо. Вы должны дополнительно запустить это:

cp pom.xml ~/.m2/repository/goose/goose/2.1.6/goose-2.1.6.pom

Обратите внимание, что в этом примере Goose будет установлен как groupId=goose, artifactId=goose. Вы можете изменить это, если хотите, и, вероятно, вам следует.

...