【问题标题】:Syntax error (FileNotFoundException) Could not locate [name].class, [name].clj or [name].cljc on classpath语法错误 (FileNotFoundException) 无法在类路径上找到 [name].class、[name].clj 或 [name].cljc
【发布时间】:2021-08-20 02:37:27
【问题描述】:

上面关于与 Leiningen 合作的 clojure 项目的错误消息。无法让它真正拿起这个图书馆。每次我运行“lein deps”时,它都会暂停一秒钟,然后在返回之前什么也不输出。这几乎是一个骨干项目。怎么了。不要害怕询问更多信息。如果我没有任何东西可以知道我错过了什么,我不知道我错过了什么;)。

core.clj:

(ns file-name.core
  (:gen-class)
  (:use [dimovich.roll]))

(defn -main
 "I don't do a whole lot ... yet."
[& args]
(println "Hello, World!")
)

project.clj:

(defproject file-name "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
            :url "https://www.eclipse.org/legal/epl-2.0/"}
  :dependencies [[org.clojure/clojure "1.10.1"]
                 [dimovich/roll "0.3.2"]]
  :main ^:skip-aot hospital-price-site.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all
                       :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})

【问题讨论】:

  • 在 Stack Overflow 上,我们不会在更新中编写新问题(每个问题一个问题)。如果您有新问题,请提出新问题。我已经编辑了你的更新;如果愿意,您可以从编辑历史记录中恢复新问题的文本。

标签: clojure dependencies libraries leiningen prerequisites


【解决方案1】:

没有像dimovich.roll 这样的命名空间:命名空间与maven 坐标不同。观察https://github.com/dimovich/roll/tree/master/src/clj/roll 中的文件。要使用库中的函数,您需要知道它所在的位置,并加载适当的命名空间。

【讨论】:

    【解决方案2】:

    尝试:require而不是:use,并检查文件dimovich/roll.clj是否确实存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多