语法错误 (FileNotFoundException) 无法在类路径上找到 [name].class、[name].clj 或 [name].cljc

问题描述

上述与 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"]}})

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...