2024 Clojure 状态调查!中分享你的想法。

欢迎!请查看关于页面,了解更多关于这个站点的信息。

嗨,

使用 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

已关闭,并附带说明:已解决


选定
 
最佳答案

运行 clojure -Sdescribe -- 您需要至少1.10.1.697版本以获得更新后的-M行为。

我同意,我在最新的版本中无法重现。
谢谢,升级确实解决了问题!
...