Clojure REPL导入故障排除
好的。我试图在Leiningen提供的Clojure REPL中使用twitter4j。我已将Clojure REPL导入故障排除,clojure,Clojure,好的。我试图在Leiningen提供的Clojure REPL中使用twitter4j。我已将twitter4j指定为生成依赖项: (defproject testproject "0.1.0-SNAPSHOT" :description "Tryin stuff" :repositories { "twitter4j" "http://twitter4j.org/maven2" } :dependencies [[
twitter4j
指定为生成依赖项:
(defproject testproject "0.1.0-SNAPSHOT"
:description "Tryin stuff"
:repositories {
"twitter4j" "http://twitter4j.org/maven2"
}
:dependencies [[org.clojure/clojure "1.5.1"]
[compojure "1.1.6"]
[org.twitter4j/twitter4j-core "3.0.5"]
[org.twitter4j/twitter4j-stream "3.0.5"]]
:plugins [[lein-ring "0.8.8"]]
:ring {:handler testproject.core/app}
:profiles {:dev
{:dependencies [[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]}})
到目前为止,一切顺利lein deps
将所有无投诉的内容下载到~/.m2
中的默认回购中。令人惊叹的。我启动了REPL,我得到了这个,而且只有这个:
user=> (import '(org.twitter4j.conf ConfigurationBuilder))
ClassNotFoundException org.twitter4j.conf.ConfigurationBuilder java.net.URLClassLoader$1.run (URLClassLoader.java:202)
twitter4jjar都在~/.m2/org/twitter4j/twitter4j核心/3.0.5/
中存在并说明。有。。。关于导入Java类,我不知道什么?我需要提供一些额外的配置吗 试试这个(正确的包名):
好的,实际问题:在Clojure中,从包地址删除“com/org”是标准的吗?在Java/Scala中,我会使用org.twitter4j.whathaveyou——在Clojure中不是这样吗?鉴于twitter4j是一个Java(而不是Clojure)库,我想说这并不局限于Clojure。我见过Clojure.org/com的项目有两种方式(带或不带反向域前缀),前缀只是一种约定,因此有些遵循,有些不遵循:)
user=> (import '(twitter4j.conf ConfigurationBuilder))