С Файла версии 1.35
-> Предпочтение-> Настройки
Прошло некоторое время с тех пор, как я разместил этот вопрос, и я подумал, что выложу то, что я нашел с тех пор, для всех, кому нужен ответ на этот вопрос.
Теперь я использую 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, который затем будет запущен.
Надеюсь, это поможет всем, у кого была моя проблема!
Мне пришлось добавить clojure.jar и clojure-contrib.jar в качестве «зависимости» к проекту , чтобы включить его в jar. как только я получил это, я смог запустить получившуюся банку. Имейте в виду, что Netbeans имеет собственный clojure.jar, который используется для запуска самого плагина, и это не обязательно должен быть тот же файл clojure.jar, который использует ваша программа. В Netbeans есть меню для добавления библиотек. Вам нужно будет добавить clojure [-contrib] .jar в библиотеки сборки и запуска