Clojure:lein任务无法找到jdbc,即使应用程序可以找到它
我正在尝试创建一个名为migrate的自定义lein任务,因此我可以在命令行上说:Clojure:lein任务无法找到jdbc,即使应用程序可以找到它,clojure,leiningen,Clojure,Leiningen,我正在尝试创建一个名为migrate的自定义lein任务,因此我可以在命令行上说: lein migrate lein在src/leiningen/migrate.clj下找到我的任务文件(根据leiningen约定)。在任务的ns声明中,我需要项目中的一个文件 (ns leiningen.migrate (require [triface.migration :as mm])) (defn migrate [] (mm/run-migrations)) 它发现src/trifac
lein migrate
lein在src/leiningen/migrate.clj下找到我的任务文件(根据leiningen约定)。在任务的ns声明中,我需要项目中的一个文件
(ns leiningen.migrate
(require [triface.migration :as mm]))
(defn migrate []
(mm/run-migrations))
它发现src/triface/migration.clj很好,但该文件需要一个需要jdbc的文件:
(ns triface.db
(:require [clojure.java.jdbc :as sql]))
此调用在我的应用程序中工作正常,但在此lein任务中失败,出现以下错误:
Exception in thread "main" java.io.FileNotFoundException:
Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath
这是怎么回事?谢谢 类路径略有不同。 要按原样使用,必须在project.clj文件中定义:dev依赖项 比如说,
:dev-dependencies [[org.clojure/java.jdbc "0.0.4"] ]
然后,正确加载jar文件
(ns triface.migration
(:require [clojure.java.jdbc :as sql]))
(defn run-migrations[]
"hello")
你可以在这里看到Lein LB是如何做到这一点的: 编辑:修复了URL