如何让 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 下载所需库的源代码?的主要内容,如果未能解决你的问题,请参考以下文章
错误:访问限制:“数据源”类型不是 API(对所需库的限制 ..\rt.jar)[重复]