将所有罐子从Nexus仓库添加到Leiningen依赖列表中

时间:2014-09-22 12:56:25

标签: maven clojure nexus leiningen

我想将所有来自本地Nexus仓库的罐子添加到Leiningen :dependencies列表中。我已将Nexus回购添加到:repositories中的project.clj列表中。有没有办法将所有罐子添加到:dependencies,而不是逐个指定它们?

谢谢!

2 个答案:

答案 0 :(得分:1)

pom to project

“Java项目的lib文件夹包含许多jar”

这个Java项目是否直接从nexus repo获取这些jar(例如通过pom.xml),因为它应该。

如果确实如此,并且您只是不想手动制作project.clj所有这些依赖关系,您可以使用lein-nevam之类的内容将其转换为project.clj来启动您关闭。

减少依赖性,增加独立性

Clojure库是否真的需要所有这些Java项目的依赖项?或者只是其中的一部分?正如我在评论中提到的,由于许多原因缩小依赖项的数量总是最好的:代码冲突,传递依赖,版本管理,兼容性等等。而不是“只包括它们”所有的“

答案 1 :(得分:0)

要使用Nexus,您只需将Leiningen配置为使用Nexus作为存储库。然后,您可以像往常一样指定所有依赖项,但它们将从Nexus中检索。这可以包括来自Central,clojars和您要添加到公共组的任何其他repo的组件。

更多详细信息位于Nexus book chapter about tool confi g,尤其是Leiningen section

如果您随后在库中指定了所需的依赖项(并且只有那些)并使用pom发布到Nexus,指定这些使用Maven或Gradle的任何Java项目或构建的任何内容都可以使用您的库并且还将获得正确的传递依赖。如果你的代码是用Maven创建并用Java编写的话也是一样。