嗨,
使用 clj -M:foo 与 :extra-paths 在 :aliases 似乎有 bug,classpath 没有包含 extra-paths
deps.edn
{:aliases
{:foo
{:extra-paths ["dev"]
:main-opts ["-m" "foo"]}}}
dev/foo.clj
(ns foo)
(defn -main
[& args]
(println "hello world"))
当运行时
clj -M:foo
我们得到
执行错误 (FileNotFoundException) at clojure.main/main
(main.java:40)。在 classpath 中找不到 foo__init.class, foo.clj 或 foo.cljc
。
详细报告在:/tmp/clojure-8075946726191297006.edn
而
clj -A:foo -m foo
给出了
hello world
的差异也可以通过 -Spath 查看
clj -Spath -M:foo
src:/home/mark/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/home/mark/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/home/mark/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar
clj -Spath -A:foo
dev:src:/home/mark/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/home/mark/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/home/mark/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar