如何共享不在Clojars中的依赖项

时间:2012-03-27 14:04:10

标签: clojure dependency-management leiningen

我需要使用mongo-storm库,而Clojars不需要have it。所以我克隆了项目,手工编译并将jar复制到我的lib文件夹中。但这是一个团队项目,每个成员手动完成这些步骤是不可接受的。

关于如何解决这个问题,是否有更好的标准思路?

4 个答案:

答案 0 :(得分:9)

您的团队应该有一个私人存储库用于此目的。 S3是一个理想的基板,您可以使用s3-wagon-private Leiningen插件在安全的S3存储桶中部署和使用工件:

https://github.com/technomancy/s3-wagon-private

答案 1 :(得分:2)

如果项目拥有允许它的许可证(如果它是开源的),您可以使用自己的组ID将自己的非官方版本自己推送到Clojars。 Clojars为此目的保留“org.clojars.username”组ID。 https://github.com/ato/clojars-web/wiki/tutorialhttps://github.com/technomancy/leiningen/blob/master/doc/DEPLOY.md中描述了这一点。

最好的方法可能是你可以联系作者,并敦促他/她做适当的释放。 (此外,自述文件不会告诉项目有哪些许可证。)

答案 2 :(得分:2)

不需要设置私有存储库的解决方案是利用leiningen中的checkouts功能。

答案 3 :(得分:0)

理想情况下,如果您的团队使用基于maven的依赖关系管理系统(如Leiningen),您将设置存储库管理器。然后,您可以将库部署到团队的存储库管理器。

大多数存储库管理器已经包含Maven Central,并且可以轻松地向代理添加其他存储库(例如Clojars)并托管您自己的存储库(用于mongo-storm和正在开发的项目)。

在完成一个设置后,您要确保您的团队所做的事情之一是设置为存储库代理,或者作为另外的存储库来从中提取jar。

您可以在maven site上找到存储库管理器列表。