我有关于部署到Clojars的基本问题。我写了一个库并将其部署到Clojars,但是当我尝试要求它时,我收到了一个java.lang.ClassNotFoundException。
以下是我的要求:
https://github.com/mobiusinversion/interval-trees
这里是Clojars的所在地:
https://clojars.org/interval-trees
我想也许我错过了关于群组或神器ID的东西,我不确定。我希望得到这方面的帮助。谢谢!
我测试它的方式是在一个名为interval-tree-test的新lein项目中。这是我测试的project.clj:
(defproject interval-tree-test "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[interval-trees "0.2.3"]]
:main interval-tree-test.core)
现在,当我运行lein deps时,我得到了
$ lein deps
Retrieving interval-trees/interval-trees/0.2.3/interval-trees-0.2.3.pom from clojars
Retrieving interval-trees/interval-trees/0.2.3/interval-trees-0.2.3.jar from clojars
在我的.m2目录中确定
$ ls ~/.m2/repository/interval-trees/interval-trees/0.2.3/
interval-trees-0.2.3.jar.sha1 interval-trees-0.2.3.pom.sha1
interval-trees-0.2.3.jar interval-trees-0.2.3.pom
最后在我的core.clj
(ns interval-tree-test.core
(:gen-class)
(:require [interval-trees.interval-tree :as it]))
(defn -main [& args] )
答案 0 :(得分:2)
您的require
表单错误。有两种方法可以解决这个问题:
您可以将:require
表单移至ns
表单:
(ns interval-tree-test.core
(:require [interval-trees.interval-tree :as it])))
您可以使用require
功能在没有ns
表单的情况下执行此操作:
(require '[interval-trees.interval-tree :as it])) ;; note the quote
我不知道为什么/如何使用:gen-class
帮助你解决这个问题。
答案 1 :(得分:0)
我撒了:gen-class在我所有的.clj中的间隔树中它起作用了。不要得到它,但很高兴它完成。