我正在clojure中启动lein new
项目,并想使用goose文章提取库。不幸的是,我在任何公共(public)可用的maven存储库中都找不到该库的jar,因此我着手将其添加到本地maven存储库中。
在项目目录中,我复制了鹅 jar 及其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
中列出鹅的依赖关系之外,还有什么方法可以解决此问题? 最佳答案
您可以使用lein-localrepo代替冗长的mvn命令:
https://github.com/kumarshantanu/lein-localrepo
像这样安装:lein localrepo coords target/goose-2.1.6.jar | xargs lein localrepo install
但是,仅此一项将无助于在 repo 中安装POM文件。您还应该运行以下命令:cp pom.xml ~/.m2/repository/goose/goose/2.1.6/goose-2.1.6.pom
请注意,在此示例中,Goose将被安装为groupId=goose
,artifactId=goose
。如果愿意,您可以覆盖它,也许应该。
关于maven - 与Leiningen在Maven本地存储库中的依赖关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8738664/