Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 如何让Leiningen下载所需库的源代码?_Clojure_Leiningen - Fatal编程技术网

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

Clojure 如何让Leiningen下载所需库的源代码?,clojure,leiningen,Clojure,Leiningen,我认为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的源代码?我现在只有二进制文件。noir由clj文

我认为
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的源代码?我现在只有二进制文件。

noir由clj文件组成,它们本身就是源文件。因此,检索jar:
$HOME/.m2/repository/noir/noir/1.3.0-beta3/noir-1.3.0-beta3.jar
,将其解压缩并检查。您还可以使用method检查REPL中的方法源。
如果您需要java库的源代码,那么您可能会遇到问题。我不确定lein是否支持直接下载源代码。如果需要下载java LIB的源代码,则可以使用maven:

  • 生成pom文件:
    lein pom
  • 通过
    mvn依赖项下载源代码:sources
  • 源代码将下载到本地maven repo的
    $HOME/.m2/存储库下

  • 您可以自己从中手动抓取罐子。然后打开包装,四处看看

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


    顺便说一句,请注意,noir已被弃用,建议您改用Compojure+lib noir。

    我发现一个名为
    ubersource
    的leiningen插件非常方便

    只需将其添加到您的项目中即可。clj:

    :plugins [[lein-cljsbuild "1.0.1"]
              [lein-ubersource "0.1.1"]]
    
    然后打电话:
    leinubersource

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