我正在尝试通过leiningen
使用project.clj
设置应用程序的开发版本和生产版本。
我怎么都可以?因为我必须注释掉:main
的{{1}}部分,以便在使用project.clj
时能够访问开发版本。
所以我正在使用stuartsierra/reloaded leiningen template,它具有不错的开发环境。
它没有lein repl
键,而当我添加键时,就是我停止获取项目的开发版本。
而不是看到
:main
当我输入user=>
时,最终看到的是我的主文件,它位于lein repl
名称空间中
jaribu
似乎可行的解决方案是注释掉io.wakamau.jaribu=> ;; my main
的{{1}}部分。
:main
尝试
project.clj
导致:
(defproject io.wakamau/jaribu "0.1.0-SNAPSHOT"
:description "trying out pedestal and component"
:url "https://github.com/kevinmungai/jaribu"
:license {:name "TODO: Choose a license"
:url "http://choosealicense.com/"}
:dependencies [[org.clojure/clojure "1.10.0"]
[com.stuartsierra/component "0.3.2"]]
:profiles {:dev
{:dependencies [[org.clojure/tools.namespace 0.2.11"]
[com.stuartsierra/component.repl "0.2.0"]]
:source-paths ["dev"]}
:uberjar {:aot [io.wakamau.jaribu]}}
:main ^{:skip-aot true} io.wakamau.jaribu
:min-lein-version "2.0.0")
当lein repl
被注释掉时:
io.wakamau.jaribu=>
结果是:
:main
我不得不承认我对使用(defproject io.wakamau/jaribu "0.1.0-SNAPSHOT"
...
;; :main ^{:skip-aot true} io.wakamau.jaribu
:min-lein-version "2.0.0")
并不了解。
答案 0 :(得分:1)
您可以在project.clj
中指定:repl-options {:init-ns io.wakamau.jaribu=>}
。您还可以在profiles.clj
中为不同的环境指定常量,例如:dev {:main io.wakamau.jaribu}
。另请参见How do I start the REPL in a user defined namespace?。