Прошло некоторое время с тех пор, как я разместил этот вопрос, и я подумал, что буду придерживаться того, что нашел, поскольку для всех, кому нужен ответ на этот вопрос.
Теперь я использую Leiningen для управления своими проектами, хотя я начал экспериментировать с cljr, который является дополнением к ответу и диспетчеру пакетов. Любой из них значительно упрощает создание исполняемого файла jar.
Взяв в качестве примера Leiningen, настройте его, используя инструкции на сайте, а затем позвоните lein new
в своем рабочем пространстве. Это создаст папку для ваших проектов, а также подпапки для вашего источника и проверит файл readme и файл project.clj.
Отредактируйте файл project.clj, указав зависимости, которые вы будете использовать. Dev-dependencies - это зависимости, которые вам нужны исключительно для разработки, такие как 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
создаст автономный jar, который затем будет запущен.
Надеюсь, это поможет всем, у кого была моя проблема!
person
toofarsideways
schedule
14.08.2010