如何在Clojure项目中安装依赖项

时间:2012-10-15 22:19:58

标签: clojure seesaw

这是一个菜鸟问题,所以如果我冒犯了某人,我很抱歉。

但是如何在* nix计算机上安装跷跷板? 是的,我已经阅读了README.MD文件,但是project.clj如何知道在哪里找到库jar(例如跷跷板)?

2 个答案:

答案 0 :(得分:14)

编辑project.clj并将依赖项(项目标识信息和版本的向量)添加到project.clj中的:dependencies向量。

依赖声明如下所示:[seesaw "1.4.2"]您可以通过在http://clojars.org上搜索跷跷板找到。

您的项目文件至少应该是:


(defproject my-awesome-gui-application "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [seesaw "1.4.2"]])

如果您使用的是较新版本的leiningen,则可以键入lein deps :tree以查看依赖关系树。换句话说,您可以看到实际使用的库,即。你声明的那些以及它们的传递依赖。


$ lein deps :tree
 [org.clojure/clojure "1.4.0"]
 [seesaw "1.4.2"]
   [com.jgoodies/forms "1.2.1"]
   [com.miglayout/miglayout "3.7.4"]
   [j18n "1.0.1"]
   [org.fife.ui/rsyntaxtextarea "2.0.3"]
   [org.swinglabs.swingx/swingx-core "1.6.3"]
     [org.swinglabs.swingx/swingx-action "1.6.3"]
     [org.swinglabs.swingx/swingx-autocomplete "1.6.3"]
       [org.swinglabs.swingx/swingx-common "1.6.3"]
     [org.swinglabs.swingx/swingx-painters "1.6.3"]
     [org.swinglabs.swingx/swingx-plaf "1.6.3"]

如果您使用的是较早版本的leiningen,请输入lein deps并查看./libs以查看获取的jars(更新版本的lein更智能并直接使用〜/ .m2中的jar而不是将它们复制到你的项目中。目录〜/ .m2是你当地Maven存储库的位置.Leiningen处理Maven并下载你指定的所有依赖项,这样你就不必直接担心Maven。)

我在〜/ .m2中提到了Maven和你当地的maven存储库。运气好的话,你可能永远不必考虑Maven(除了浏览maven central以查找Java库以保留在你的project.clj中),但有时候你可能会怀疑jar已经损坏或者是某些东西这种效果,很高兴知道你可以通过删除.m2存储库来吹走这种状态。

答案 1 :(得分:7)

project.clj文件指定leiningen的项目配置。

Leiningen下载并安装project.clj文件中指定的依赖项并启动项目/运行repl进程/将项目编译为java jar / whatever。请参阅上面的链接。简而言之,leiningen是基本操作系统和基于java的基本clojure运行时/编译器之间最流行的粘合剂。

通常,您不必安装任何clojure库(甚至是clojure)。除非您需要额外的库来开发/调试当前项目(通常不需要),您只需安装leiningen,leiningen将为您要运行的项目安装依赖项。

更具体一点:leiningen通过委托maven获取下载位置/安装说明,这是一个非常有趣的项目。但如果你的时间很宝贵,可能不值得深入研究。