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

如何在Clojure项目中安装依赖项,clojure,seesaw,Clojure,Seesaw,这是个问题,如果我冒犯了某人,我很抱歉 但是如何在*nix计算机上安装跷跷板? 是的,我已经阅读了README.MD文件,但是project.clj如何知道在哪里可以找到库jar(例如seesaw) project.clj文件指定的项目配置 Leiningen下载并安装project.clj文件中指定的依赖项,并启动项目/运行repl进程/将项目编译为java jar/任何内容。请参阅上面的链接。简而言之,leiningen是基本操作系统和基于java的基本clojure运行时/编译器之间最流行

这是个问题,如果我冒犯了某人,我很抱歉

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

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

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

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


更具体地说:leiningen通过授权获得其下载位置/安装说明,这是一个非常有趣的项目。但如果您的时间宝贵,可能不值得仔细研究。

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

依赖项声明如下所示:
[seesaw“1.4.2”]
,您可以通过在上搜索seesaw找到它

您的项目文件至少应如下所示:


(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以查看获取了哪些JAR(较新版本的lein更智能,直接使用~/.m2中的jar,而不是将它们复制到项目中。目录~/.m2是本地Maven存储库的位置。Leiningen处理Maven并下载您指定的所有依赖项,这样您就不必直接担心Maven了。)


我在~/.m2中提到了Maven和您的本地Maven存储库。如果幸运的话,您可能永远都不必考虑Maven(也许除了浏览Maven central以查找Java libs来坚持您的项目.clj之外),但有时您可能会怀疑某个jar已损坏或类似情况,很高兴知道您可以通过删除.m2存储库来消除这种状态。

我喜欢这种解释。它澄清了我对leiningen的许多疑问。