【问题标题】:How to make Eclipse/Counterclockwise use Macports installed Clojure如何让 Eclipse/逆时针使用 Macports 安装 Clojure
【发布时间】:2012-03-17 12:42:41
【问题描述】:

我对 clojure 很陌生,经过几个小时摆弄 Netbeans/Enclojure 和 Eclipse/逆时针,我终于设置为 Eclipse/逆时针 - 只是因为它是第一个我能够真正开始跑步。

但是,在 REPL 中,我得到的是 Clojure 版本 1.2,尽管我在我的系统中工作的版本(使用 Macports)是 1.3。

如何让 Eclipse/逆时针使用这个版本?除了语法高亮规则和其他一些小东西外,我在首选项中基本上找不到任何关于 Clojure 的内容。

【问题讨论】:

    标签: eclipse clojure macports counterclockwise


    【解决方案1】:

    基本上,Eclipse/CCW REPL 使用的 Clojure 版本是包含在您启动 REPL 的项目的类路径中的 Clojure 版本。如果您将它包含在项目的引用库中,则 REPL 将从该版本的 Clojure 开始。

    您可以通过在 Package Explorer > Properties > Java Build Path > Add Jars > Browse to (Macport) clojure jar file > Finish 中右键单击项目名称来包含它。

    但是,由于您需要对所有外部库和它们自身所依赖的库(无论是基于 Java 还是基于 Clojure)执行此操作,这可能会变得乏味,甚至更糟糕的是,在构建用于分发的项目时将无法正常工作。

    以结构化方式完成它的最简单方法是将Leiningen 与 Leiningen CCW 插件结合使用。首先按照 leiningen 页面安装 Leiningen。然后拨打lein plugin install lein-ccw "1.2.0"安装leiningen CCW插件。

    如果您开始一个新项目,请 cd 到项目所在的父目录。然后,使用lein new projectname,这将在 \projectname 子目录中创建一个新的 Clojure 项目结构。

    在该项目的根目录中将创建一个project.clj 文件,用于管理和下载您要使用的库以及它们本身所依赖的所有库(有关详细信息,请参见 leiningen 站点)。默认情况下,lein new 会在其中放置对 Clojure 的引用。

    这些库将存储在本地库存储库中,因此只会写入磁盘一次。

    cd 到 \projectname 子目录并运行lein deps,leiningen 将下载当前的依赖项(在这种情况下只有 clojure),并将它们放入存储库中。

    现在运行lein ccw,ccw lein 插件将创建和更新一个 Eclipse 项目和类路径文件。

    之后,您可以通过选择菜单 File > Import > General > Import Existing Projects Into Workspace > 选择 Root Directory > Browse to Project Location > Finish 在 Eclipse 中打开项目。

    现在,如果您的项目需要一个新库,您唯一需要做的就是将库数据放入 project.clj 依赖项部分。其他库的依赖符号和版本号可以在 Clojars site 或 Github 自述文件中找到。

    然后,只需从项目目录再次运行 lein deps 以下载并安装正确的库,然后运行 ​​lein ccw 以更新您的 Eclipse 项目和类路径文件。刷新 Eclipse Package Explorer 中的项目树,您的项目又是最新的,包括您需要的所有新库。

    您甚至可以通过遵循guide 在 Eclipse 中创建“外部运行配置”来自动化上段中的步骤,以与创建 lein ccw 相同的方式运行命令,或将其添加到 @987654333 @ 一。这样你只需要在编辑完project.clj之后按一个按钮,所有的步骤都会被Eclipse执行。

    掌握这些基本步骤后,您可以开始探索 Leiningen 的其他用途,例如构建您的项目以进行分发/部署。

    【讨论】:

    • 感谢 NielsK 非常详细的回答!
    猜你喜欢
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 2011-02-14
    • 2013-03-17
    相关资源
    最近更新 更多