【问题标题】:access infinispan .class in Clojure在 Clojure 中访问 infinispan .class
【发布时间】:2017-06-02 15:56:33
【问题描述】:

我正在尝试从 Clojure 中的 the Infinispan documentation 复制一段 sn-p 代码:

ConfigurationBuilder b = new ConfigurationBuilder();
b.persistence()
  .addStore(SoftIndexFileStoreConfigurationBuilder.class)
  .indexLocation("/tmp/sifs/testCache/index");
  .dataLocation("/tmp/sifs/testCache/data")

这是我的尝试:

(import '[org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder])
(import '[org.infinispan.configuration.cache ConfigurationBuilder])

(def b (ConfigurationBuilder.))

(.addStore (.persistence b)
           (class org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder))

;; java.lang.ClassNotFoundException: org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder

如何克服这个异常?这是SIFS source

【问题讨论】:

    标签: clojure infinispan infinispan-9


    【解决方案1】:

    对于您的情况,您应该在依赖项中包含:

    :dependencies  ... others here ...
                   [org.infinispan/infinispan-core "9.0.1.Final"]
                   [org.infinispan/infinispan-persistence-soft-index "9.0.1.Final"]
    

    另外,您错误地使用了import。你可以这样做:

    (import full.package.name.ClassNameHere)
    

    (import [full.package.name ClassNameOne ClassNameTwo])
    

    对于您的情况,您应该这样做:

    (import org.infinispan.persistence.sifs.configuration.SoftIndexFileStoreConfigurationBuilder)
    

    请注意,与 require 不同,nil 结果表示“一切正常”,import nil 返回表示“未导入任何内容”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-01
      • 2013-01-20
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 2012-10-20
      相关资源
      最近更新 更多