Ответ 1
Я использую Leiningen, у него есть команда uberjar
для создания автономных исполняемых файлов jar, которые ваши пользователи могут просто дважды щелкнуть, См.: http://zef.me/2470/building-clojure-projects-with-leiningen
Я новичок в Clojure, но я его изучаю. Я хотел бы знать, как лучше всего упаковать и распространять программу Clojure для конечных пользователей, которые не обязательно являются программистами. Я знаю, что в Ruby вы можете просто сказать пользователям загрузить программу с помощью gem install [program name]
, а затем запустить команду, которая запускает программу. Что эквивалентно для программ Clojure?
Я использую Leiningen, у него есть команда uberjar
для создания автономных исполняемых файлов jar, которые ваши пользователи могут просто дважды щелкнуть, См.: http://zef.me/2470/building-clojure-projects-with-leiningen
Clojars отлично, если вы распространяете библиотеку, но я не уверен, что это лучший вариант для конечных пользователей.
Если вы уже используете Maven, я считаю, что лучший вариант - создать uberjar, содержащий все необходимые классы. Если вы хотите сделать его еще более удобным для пользователя, вы можете создать установщик из этой банки, используя что-то вроде IzPack. Просто помните, что программы Clojure - это Java-программы, поэтому все параметры распространения для Java действительны и для Clojure.
lein uberjar отлично подходит для небольших приложений Clojure, но не масштабируется при использовании многих библиотек Java, включая необходимые лицензии, и другие подобные вещи. Если вы используете плагин Maven Clojure, вы можете воспользоваться огромным и ужасающим плагином сборки Maven для создания и окончательной структуры, которая вам, возможно, понадобится.
Или вы можете написать плагин Leiningen, чтобы сделать что-то подобное. Я не уверен, существует ли такая вещь.
Clojars (http://clojars.org/) - это большой репозиторий библиотек Clojure, который вы можете найти.
Он отлично работает с проектами Leiningen или любым другим инструментом управления проектами Maven.