【问题标题】:How to prepare dependencies before playing in a Intellij Idea repl?在玩 Intellij Idea repl 之前如何准备依赖项?
【发布时间】:2011-09-14 21:45:29
【问题描述】:

假设我想玩一些 clojure 库,但在 Intellij Idea 的 REPL 中。我如何开始准备 REPL?或者就此而言,我如何加载该库,即使在开始之后?

【问题讨论】:

    标签: clojure intellij-idea read-eval-print-loop


    【解决方案1】:

    使用 IntelliJ,项目内的库目录可以包含在启动 REPL 时使用的 Java 类路径中。然后可以通过 Clojure 的“使用”或“要求”在 REPL 中使用这些。

    将库导入项目的最简单方法是通过 Leiningen 和 IntelliJ 的 Leiningen 插件。 Leiningen 是 Clojure 的构建和依赖管理工具。

    下载并安装 Leiningen。安装 IntelliJ 的 Leiningen 插件。打开 IntelliJ 的设置屏幕,在 IDE 设置 > Leiningen 下,输入 Leiningen 可执行文件的路径。

    在 IntelliJ 项目窗口中,在根目录中创建一个名为 project.clj 的 Clojure 文件。使用 Leiningen 语法编辑此文件以定义项目所依赖的库。使用 clojars.org(主要的 clojure 库存储库)或项目网页上的库条目中的 Leiningen 库名称。

    从 Leiningen 插件菜单中,添加(+ 图标)project.clj。现在在 Leiningen 插件屏幕中,单击项目名称以打开它的树,选择“deps”选项,然后从菜单中单击“播放”图标。这将使 Leiningen 下载库,并将它们放在项目的正确 (/lib) 文件夹中。

    现在在项目窗口中右键单击项目名称,选择 Open Module Settings > Modules > Dependencies > Add > Library > Name (Enter name) > Attach Jar Directories (Choose /lib)

    然后启动 REPL,使用“use”或“require”加载库,一切就绪。

    【讨论】:

    • 感谢您的演练。不知道项目内的库包含在 Java 类路径中(有用的信息)。会试一试
    • 在试用了 Netbeans & Enclojure(需要 Maven 依赖)、Eclipse & CounterClockwise(手动将每个 Lein 添加的库添加到项目中,并手动将 Lein 函数添加到 Eclipse)和 IntelliJ & La Clojure & Leiningen 插件后,我发现 IntelliJ 最容易使用。请务必在 la Clojure 设置中添加彩虹括号(也是 CounterClockwise 中的一项功能)。我唯一的小问题是 La Clojure REPL 自动完成不尊重当前命名空间中的库。从文件编辑器向 REPL 发送行没有问题。
    • 要添加的额外内容是,一旦下载了库,该文件夹可能需要手动添加为模块设置下依赖项下的 jar 文件夹
    • 很抱歉,在一个大项目上工作了一段时间,忘记了我可能手动设置了那个目录。太糟糕了,Leiningen 插件不会自动执行此操作。尽管如此,总比我在 Eclipse 中必须手动输入所有库要好(仍然认为应该有一种方法可以在其中包含一个目录,只是似乎无法让它工作)。
    • 什么是“Leiningen 插件菜单”?
    【解决方案2】:

    我想评论 NielsK 的回答,但由于某种原因不能……无论如何 确保在 IDE 中启用了 Maven,因为 leiningen 会生成一个 POM,IDEA 使用它来导入依赖项。

    【讨论】:

    • 澄清一下:您可以运行lein pom,然后在IntelliJ中导入生成的pom.xml
    猜你喜欢
    • 2012-07-12
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多