leiningen 自定义任务不是任务

leiningen custom task is not a task

我有以下.lein-classpath

tasks

然后在任务下,我有

tasks
     > leiningen
                >foo-bar.clj

然后我有以下内容 foo.clj

(ns leiningen.foo-bar)

(defn foo-bar [project & args]
  (println "foo"))

当我 运行 lein foo-bar 时,我收到:

'foo-bar' is not a task. See 'lein help'.

Did you mean this?
         foo-bar

运行 lein help 产生(在一般默认任务中):

foo        Task: 'foo-bar' not found

我在 leiningen 2.7.1 上 java 1.8.0_77

.lein-classpathtasksproject.clj都在项目根目录下

更多诊断结果:

which lein 产生:/usr/local/bin/lein ~/.lein 不包含 .lein-classpath,也不包含任何任务定义 /etc/leinrc不存在

我将如何定义这个任务?为什么它 "sort of" 看到任务(您是这个意思吗?...)

这个错误意味着leiningen找不到任务文件。

请记住,.lein-classpath 必须在您的项目根目录中,就在您的 project.clj 所在的位置。此外,该路径是相对于您的项目根目录的,因此如果您的任务在 <root>/src/tasks 中,则必须将 src/tasks 放在您的 .lein-classpath 中。

回想一下,对于所有 Clojure 文件,不仅仅是 leiningen 任务,命名空间 foo-bar 必须位于名为 foo_bar.clj 的文件中,而不是 foo-bar.clj.