2016-02-14 3 views
0

При использовании Leiningen для создания проекта файл core.clj должен содержать функцию -main (автоматически сгенерированную при создании приложения), чтобы запустить программу с помощью команды lein run? Все функции, которые я создаю, должны быть вызваны внутри -main?Должен ли core.clj содержать главную функцию для запуска из командной строки?

ответ

1

Нет, это не обязательно должно быть в core.clj. Вы можете разместить свою функцию -main везде, где захотите, до тех пор, пока вы скажете лейн, где искать его в своем defproject в project.clj.

(defproject myproject "0.1.0-SNAPSHOT" 
    :main ^:skip-aot myproject.other-name-space) 

Это покажет LEIN для загрузки myproject.other-name-space в качестве основного пространства имен, когда он загружает Repl и когда он ищет -main класса. Если у вас есть класс -main в двух местах, лейн будет использовать тот, который вы укажете здесь, в defproject. Вам не нужно размещать весь ваш программный код в классе -main, вы просто используете его в качестве отправной точки.

 Смежные вопросы

  • Нет связанных вопросов^_^