我在clojure中启动lein new
项目,并希望使用goose文章提取库。不幸的是,我无法在任何公开的maven存储库中找到该库的jar,因此我开始将其添加到本地maven存储库。
在项目目录中,我复制了goose 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")))}
{p}和[local/goose "2.1.6"]
中的:dependencies
。现在,当我执行lein deps
时,我将goose-2.1.6.jar文件添加到lib目录,但不是goose的依赖项。它们列在鹅的pom.xml
文件中。
除了在我的project.clj
中列出goose的依赖关系之外,我有没有办法解决这个问题?
答案 0 :(得分:12)
您可以使用lein-localrepo而不是冗长的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
。如果你愿意,你可以覆盖它,也许你可以。