如何让 Leiningen 下载所需库的源代码?

Posted

技术标签:

【中文标题】如何让 Leiningen 下载所需库的源代码?【英文标题】:How do I make Leiningen download the source of a required library? 【发布时间】:2013-01-01 22:56:54 【问题描述】:

我认为project.clj 中有一些选项,但我没有在 Leiningen 的文档中找到它。

例如我有这个project.clj

(defproject test-app "0.1.0-SNAPSHOT"
            :dependencies [[org.clojure/clojure "1.4.0"]
                           [noir "1.3.0-beta3"]]

如何让 Leiningen 下载 noir 的源代码?我现在只有二进制文件。

【问题讨论】:

【参考方案1】:

我发现一个名为 ubersource 的 leiningen 插件非常好用。

只需将其添加到您的 project.clj 中:

:plugins [[lein-cljsbuild "1.0.1"]
          [lein-ubersource "0.1.1"]]

然后调用: lein ubersource

【讨论】:

【参考方案2】:

您可以自己手动从http://clojars.org/repo/ 获取罐子。然后打开包装看看。

当然,如果您愿意,您可以直接访问给定库的源代码(Clojars 页面应该显示 url)。

不过,请注意 noir 已弃用,建议您改用 Compojure + lib-noir。

【讨论】:

【参考方案3】:

noir 由 clj 文件组成,它们本身就是来源。所以取回jar:$HOME/.m2/repository/noir/noir/1.3.0-beta3/noir-1.3.0-beta3.jar,解压并检查。您还可以使用source 方法检查 REPL 中方法的来源。 如果您需要 java 库的来源,那么您可能会遇到问题。我不确定 lein 是否支持开箱即用的资源下载。如果您需要下载 java 库的源代码,那么您可以使用 maven:

    生成pom文件:lein pom 通过mvn dependency:sources下载源:Get source JARs from Maven repository 源代码将下载到您的本地 maven repo 下 $HOME/.m2/repository

【讨论】:

好的,我明白了。我不知道本地 Maven 存储库。现在我可以看到 jar 中的源文件。谢谢!

以上是关于如何让 Leiningen 下载所需库的源代码?的主要内容,如果未能解决你的问题,请参考以下文章

由于对所需库的限制,JFrame 受到限制 [重复]

错误:访问限制:“数据源”类型不是 API(对所需库的限制 ..\rt.jar)[重复]

html BackBoneJS模板(所需库的CDN链接)

编译器错误“无法读取所需库的存档” - Spring Tool Suite

如何用 Leiningen 运行图书馆的`main`?

访问限制:由于对所需库 ..\jre\lib\rt.jar 的限制,无法访问