【问题标题】:importing lucene jars in clojure在 clojure 中导入 lucene jar
【发布时间】:2015-02-08 18:06:37
【问题描述】:

我尝试在lein 项目中导入两个org.apache.lucene jar 并获得一个ClassNotFoundException

这是我的project.clj 文件:

(defproject clj_processing_tweets "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.6.0"]
                 [org.apache.lucene/lucene-core "4.10.3"]
                 [org.apache.lucene/lucene-analyzers-common "4.10.3"]]
  :profiles {:dev {:dependencies [[speclj "3.1.0"]]}}
  :plugins [[speclj "3.1.0"]]
  :test-paths ["spec"])

运行lein deps 后,我将core.clj 发送到 lein repl,我得到了

CompilerException java.lang.ClassNotFoundException: org.apache.lucene.analysis.*, compiling:(clj_processing_tweets/core.
clj:1:36)

这是我的core.clj 文件:

(ns clj_processing_tweets.core
  (:import [org.apache.lucene.analysis *]))

感谢您的帮助。

【问题讨论】:

    标签: java clojure lucene leiningen


    【解决方案1】:

    您需要单独导入每个要使用的类,因为 clojure 不允许您在 Java 导入时指定通配符。

    查看这个对更一般性问题的回答: https://stackoverflow.com/a/1213628/66722

    所以,例如:

    (ns clj_processing_tweets.core
      (:import [org.apache.lucene.analysis Analyzer Tokenizer]))
    

    【讨论】:

      猜你喜欢
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 2015-05-17
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多