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

欢迎!请参阅 关于 页面以获取有关此工作的更多信息。

0 投票
tools.deps
已关闭

你好,

使用 clj -M:foo 与 :extra-paths 似乎存在一个 bug,在 :aliases 中 classpath 不包括额外的路径

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

已关闭,备注: 已解决

1 答案

+2 投票

已选中
 
最佳答案

运行 clojure -Sdescribe — 你至少需要 1.10.1.697 才能使用更新后的 -M 行为。

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