Ответ 1
Прошло некоторое время с тех пор, как я опубликовал этот вопрос, и я подумал, что буду придерживаться того, что нашел, потому что для тех, кому этот вопрос ответил,
Теперь я использую Leiningen для управления моими проектами, хотя я начал играть с cljr, который является дополнением к нему и диспетчером пакетов. Любой из них упрощает создание исполняемого файла jar.
Взяв Leiningen в качестве примера, настройте его с помощью инструкций на сайте, а затем вызовите lein new
в своем рабочем пространстве. Это создаст папку для размещения ваших проектов, а также подпапки для вашего источника и проверит файл readme и файл project.clj.
Отредактируйте project.clj с зависимостями, которые вы будете использовать. Dev-зависимости - это зависимости, которые вам нужны исключительно для разработки, такие как swank- clojure, показанные в примере ниже.
(defproject myproject "0.0.1-SNAPSHOT"
:description "My Personal Project."
:url "http://example.com/my-project"
:dependencies [[org.clojure/clojure "1.1.0"]
[org.clojure/clojure-contrib "1.1.0"]
[**other dependencies**]]
:dev-dependencies [[swank-clojure "1.2.1"]]
:main [org.myproject.core])
Я нахожу swank- clojure полезным, так как вы можете набрать lein swank
, чтобы запустить экземпляр swank, с которым вы можете подключиться через emacs.
: main определяет, какое пространство имен содержит функцию -main.
Вызов lein uberjar
создаст отдельную банку, которая затем запустится.
Надеюсь, это поможет любому, у кого была моя проблема!