4

我使用 Leiningen 编写了一个 Clojure 项目,现在想将生成的 jar 添加到 Sonatype Nexus 服务器。我安装了 lein-clojars,因为它带有一个命令,如果你想推送 Clojars 之外的某个地方push,它似乎可以接受一个可选参数。repo但是,每当我尝试这个时,我都会得到一个JSchException: Auth fail. 这似乎表明某处存在身份验证问题。

我能够将 jar scp 到 Nexus,并且我还能够使用与 Maven 相同的 settings.xml 上传到这台机器,所以我相当有信心这些都是正确的。

有没有什么好的方法可以使用 Leiningen 推送到其他存储库?还是真的只为 Clojars 构建?

4

3 回答 3

5

作为记录,Leiningen 1.5 现在有一个部署任务,可以通过 https 推送到 Nexus 和 Archiva 等 Maven 存储库:https: //github.com/technomancy/leiningen/blob/master/src/leiningen/deploy.clj

于 2011-01-19T18:18:49.840 回答
3

如果您要推送到真正的 Maven 存储库,则最好使用 Maven 进行部署。有一个很好的 Clojure 插件:http: //github.com/talios/clojure-maven-plugin

于 2010-08-12T16:01:50.567 回答
2

不久前,Leiningen Google 小组发生了一次相关的电子邮件交流;请参阅Phil Hagelberg 的此消息以获取答案。

简而言之,在 JVM 上使用 DSA 密钥显然是不可能的。我不确定Maven是否/如何发现可以处理这个问题,但无论如何,lein-clojars没有。所以,你应该坚持下去scp

(顺便说一句,这也意味着它lein-clojars也不是真的推荐用于处理 Clojars。另外,我很确定我错过了图片的某些部分,因为显然它曾经与 Clojars 一起使用。我很漂亮的一件事可以肯定的是,此时 Leiningen 在推动受保护的回购方面不会有太大帮助,而且我上面链接的消息与对为什么会出现这种情况的权威解释非常接近。)

于 2010-08-12T14:59:17.487 回答