3

旧的整体式 clojure.contrib 可作为 .jar 从您获得 clojure .jar 的同一位置获得,您可以通过将类路径指向它来使用它。据我所知,新的模块化贡献在 clojure .jar 中不可用——相反,它们作为源文件存在于 github 上。您使用它们的预期方式是什么?比如说,我想在 clojure.math.numeric-tower 中使用一些东西。我会怎么做?

我发现如何在 RHEL 6.1/JDK7 上安装 Clojure 1.3 with contribs?,但唯一的答案(“使用 leiningen”)不够详细,我无法弄清楚。(在 clojars 中搜索 numeric-tower 产生的结果......什么也没有。)

4

4 回答 4

3

Maven 设置和存储库中所述,部署所有 clojure 工件的存储库是Sonatype OSS Nexus。如果您不想采用 leiningen 或 maven 方式,我仍然建议您考虑一次性实验,您仍然可以从该存储库手动下载所有工件。具体来说,这里是所有上传的clojure.math.numeric-tower.

于 2012-06-10T08:09:20.530 回答
3

我可以理解不愿意使用 leiningen,尽管我写这句话比创建一个新项目花费了更长的时间。

对于这类问题,我通常的第一站是http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go 然后单击最新版本并获取我想要的工件和版本,然后添加一个像这样到 project.clj 的依赖项部分的行

[math.numeric-tower "0.0.1"]
于 2012-06-10T09:32:12.703 回答
3

您可以通过将其信息添加到 project.clj 文件中的 :dependencies 来安装一个 contrib 模块。下次您运行lein某项内容时,它会注意到您的更改并自动为您抓取库。

在这里写了一些更详细的说明

于 2012-06-10T16:18:22.163 回答
0

如果你使用 Clojure,你真的应该使用 Leiningen 或 Maven 来管理你的依赖。我相信随着您的项目变得更大并且具有更复杂的构建要求,这些是保持复杂依赖关系图的唯一明智的方法。

例如,我使用 Maven 并在我的项目的 pom.xml 中包含以下内容以包含数字依赖项:

    <dependency>
        <groupId>org.clojure</groupId>
        <artifactId>math.numeric-tower</artifactId>
        <version>0.0.1</version>
    </dependency>

所有模块化的 Clojure 贡献库都可以以相同的方式包含在内。

于 2012-06-11T08:42:26.327 回答