嗨,
看起来在使用 clj -M:foo 与 :extra-paths 时存在一个错误,:aliases 的类路径似乎没有包含 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)在 clojure.main/main
(main.java:40)。无法找到 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