2017-06-02 57 views
1

我試圖用Clojure從the Infinispan documentation複製的代碼片段:訪問的Infinispan的.class Clojure中

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 

如何突破這個例外?這是​​

回答

4

對於你的情況,你應該在你的依賴關係:

: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 a nil返回意味着」什麼都不是進口「。