2012-06-10 2 views
3

Старый монолитный clojure.contrib был доступен как .jar из того же места, где вы получили clojure .jar, и вы использовали его, указав на него свой класс. Насколько я могу судить, новые модульные вкладки недоступны в clojure .jar - вместо этого они существуют как исходные файлы на github. Каким образом вы можете их использовать? Скажем, например, я хотел использовать что-то в clojure.math.numeric-tower. Что бы я сделал?Как вы планируете установить модульные вкладки clojure?

Я нашел How do I install Clojure 1.3 with contribs on RHEL 6.1/JDK7?, но единственный ответ («использование leiningen») недостаточно подробный для меня, чтобы разобраться. (Поиск clojars для вывода числовой башни ... ничего.)

ответ

3

Вы устанавливаете модуль Contrib, добавляя его информацию к: зависимостям в файле project.clj. В следующий раз, когда вы запустите lein, он замечает ваше изменение и автоматически захватывает библиотеку для вас.

есть some more detailed instructions written up here.

3

Как указано в Maven Settings and Repositories, хранилище, в котором развернуты все артефакты клоюре, составляет Sonatype OSS Nexus. Если вы не хотите идти на путь leiningen или maven, и я бы по-прежнему советовал вам рассмотреть также одноразовые эксперименты, вы все равно можете вручную загрузить все артефакты из этого репозитория. В частности, here все загруженные версии clojure.math.numeric-tower.

3

Я могу понять нежелание использовать leiningen, хотя мне потребовалось больше времени, чтобы написать это предложение, чем создать новый проект.

моя обычная первая остановка для такого рода вопрос http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go затем нажав последнюю версию и получить артефакт я и версию, а затем добавить строку в зависимости секции project.clj как так

[math.numeric-tower "0.0.1"] 
+0

Это не нежелание использовать leiningen. Это наблюдение, что голая инструкция «использовать leiningen» не говорит вам, как достичь цели. Прямо здесь вы использовали две части информации, которые я не знал, как получить - идентификатор артефакта и номер версии. – collapsinghrung

+0

нажмите на последнюю ссылку на выпуск под названием на этой странице, оба указаны там. –

0

Если вы используете Clojure, вы также должны использовать Leiningen или Maven для управления вашими зависимостями. Я считаю, что это единственные разумные способы остаться на йоге сложного графика зависимости, поскольку ваш проект становится больше и имеет более сложные требования к построению.

Например, я использую Maven и имеют следующие в pom.xml моего проекта, включив в него числовые зависимости:

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

Все модульные библиотеки CONTRIB Clojure могут быть включены таким же образом.

Смежные вопросы