Как заставить Eclipse / Против часовой стрелки использовать Macports с установленной Clojure - PullRequest
1 голос
/ 17 марта 2012

Я очень новичок в clojure и через несколько часов возиться с Netbeans / Enclojure и Eclipse / Counterclockwise, я наконец установил Eclipse / Counterclockwise - только потому, что это был первыйЯ смог запустить на самом деле.

Но в REPL я получаю Clojure версии 1.2, хотя в моей системе (с Macports ) работала 1.3.

Как заставить Eclipse / Против часовой стрелки использовать эту версию? Я не могу найти в настройках ничего о Clojure, за исключением правил подсветки синтаксиса и некоторых других незначительных вещей.

1 Ответ

3 голосов
/ 18 марта 2012

По сути, версия Clojure, которую использует Eclipse / CCW REPL, является версией Clojure, которая включена в путь к классам проекта, из которого вы запускаете REPL. Если вы включите его в библиотеку вашего проекта, на которую ссылаются, REPL начнется с этой версии Clojure.

Вы можете включить его, щелкнув правой кнопкой мыши имя проекта в проводнике пакетов> Свойства> Путь сборки Java> Добавить файлы JAR> Перейти к (Macport) файлу clojure jar> Готово.

Однако, поскольку вам нужно сделать это для всех внешних библиотек и библиотек, от которых они сами зависят (будь то Java или Clojure), это может стать утомительным и, что еще хуже, не сработает при создании проекта для распространения.

Самый простой способ сделать это структурно - использовать Leiningen в сочетании с плагином Leiningen CCW. Сначала установите Leiningen согласно странице leiningen. Затем позвоните lein plugin install lein-ccw "1.2.0", чтобы установить плагин leiningen CCW.

Если вы запускаете новый проект, перейдите в родительский каталог cd, в который следует поместить проект. Затем используйте lein new projectname, который создаст новую структуру проекта Clojure в подкаталоге \ projectname.

В корне этого проекта будет создан файл project.clj, который используется для управления и загрузки библиотек, которые вы хотите использовать, и всех библиотек, от которых они сами зависят (для получения дополнительной информации см. Сайт leiningen). Ссылка на Clojure будет помещена туда по умолчанию lein new.

Библиотеки будут храниться в локальном хранилище библиотек, поэтому будут записываться на диск только один раз.

перейдите в подкаталог \ projectname и запустите lein deps, и leiningen загрузит текущие зависимости (в данном случае только clojure) и поместит их в репозиторий.

Теперь запустите lein ccw, и плагин ccw lein создаст и обновит проект Eclipse и файл classpath.

После этого вы можете открыть проект в Eclipse, выбрав в меню «Файл»> «Импорт»> «Основные»> «Импорт существующих проектов в рабочую область»> «Выбрать корневой каталог»> «Перейти к расположению проекта»> «Готово».

Теперь, если вам нужна новая библиотека для вашего проекта, единственное, что вам нужно сделать, это поместить данные библиотеки в раздел зависимостей project.clj. Обозначения зависимостей и номера версий других библиотек можно найти на сайте Clojars или в файлах Readme библиотек Github.

Затем просто снова запустите lein deps из каталога проекта, чтобы загрузить и установить правильные библиотеки, и lein ccw, чтобы обновить проект Eclipse и файлы classpath. Обновите дерево проекта в Eclipse Package Explorer, и ваш проект снова обновится, включая все необходимые вам новые библиотеки.

Вы можете даже автоматизировать шаги в предыдущем абзаце, создав «Внешнюю конфигурацию запуска» в Eclipse, следуя этому руководству , создав команду запуска lein ccw точно так же, или добавив ее на lein deps один. Таким образом, вам нужно нажать только одну кнопку после редактирования файла project.clj, и все шаги будут выполнены Eclipse.

После того, как вы освоите эти основные этапы, вы можете приступить к изучению других применений Leiningen, таких как создание проекта для распространения / развертывания.

...