Подтвердить что ты не робот

Как запустить код с помощью Leiningen?

Я использую Leiningen (в первый раз), чтобы управлять приложением своим письмом. Пока я определил зависимости проекта, установил deps в каталоге lib проекта, и я определил функцию. Когда я запускаю lein repl из корня проекта, а затем вызываю функцию, которую я определил, я получаю сообщение об ошибке unable to resolve symbol. Кто-нибудь знает, что я делаю неправильно, и как правильно запустить приложение через Leiningen? Спасибо.

4b9b3361

Ответ 1

из leiningen repl вам нужно будет переключиться на пространство имен, в котором была определена ваша функция с помощью макроса in-ns.

(in-ns 'myproject.core)

тогда функция должна быть доступна вы также можете use использовать это пространство имен из repl, чтобы включить его в пространство имен по умолчанию (пользователя).

(use 'myproject.core)

после этого вы можете рассмотреть возможность поиска в задачах lein run, lein uberjar и lein jar leiningen.

Ответ 2

В моих проектах для файла core.clj, который содержит пространство имен, определенное таким образом:

(ns my-project.core)

... Я установил ключ :main в карте Leiningen defproject в project.clj:

(defproject my-project "1.0.0-SNAPSHOT"
  :description "My project description"
  :dependencies [[org.clojure/clojure "1.2.1"]]
  :main my-project.core)

Поэтому, когда я запускаю lein repl, мое основное пространство имен автоматически загружается, и я вижу это:

mac:my-project scott$ lein repl
REPL started; server listening on localhost:31515.
my-project.core=>