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