Clojure 嵌入式db不从螺栓连接器开始(neo4j 3.2.0)
我正在尝试在clojure应用程序中创建和使用嵌入式Neo4j实例。根据中的文档,我能够创建以下代码:Clojure 嵌入式db不从螺栓连接器开始(neo4j 3.2.0),clojure,neo4j,embedded-resource,connector,bolts-framework,Clojure,Neo4j,Embedded Resource,Connector,Bolts Framework,我正在尝试在clojure应用程序中创建和使用嵌入式Neo4j实例。根据中的文档,我能够创建以下代码: (defn make-embedded-db [path] (let [factory (GraphDatabaseFactory.)] (-> (.newEmbeddedDatabaseBuilder factory path) (.loadPropertiesFromFile "resources/neo4j.conf") (.newGraph
(defn make-embedded-db
[path]
(let [factory (GraphDatabaseFactory.)]
(-> (.newEmbeddedDatabaseBuilder factory path)
(.loadPropertiesFromFile "resources/neo4j.conf")
(.newGraphDatabase))))
我正在导入以下库:
(:import [java.io ByteArrayInputStream ByteArrayOutputStream]
[org.neo4j.graphdb Direction
GraphDatabaseService
Node
Relationship
RelationshipType
Transaction]
[org.neo4j.graphdb.factory GraphDatabaseFactory])
我在conf文件中启用了如下螺栓:
dbms.connector.bolt.enabled=true
执行makeembeddeddb
函数时,出现以下错误:
CompilerException java.lang.RuntimeException:启动时出错
org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory,
/path/to/graphdb,编译:(form-init77471727471153885056.clj:1:9)
如果我禁用配置中的螺栓连接器-它似乎可以正常工作。我启用bolt connector的主要动机是我可以连接neo4j浏览器来可视化和浏览graphdb
我在以前版本的neo4j embedded上看到过一些帖子,这些帖子都有类似的问题,这些问题都是通过使用已被弃用的方法解决的。有没有人遇到过这个问题,给我指出了正确的方向
已编辑
在将嵌入式db实例分配给这样一个全局变量时,我遇到了上述错误
(def db (make-embedded-db (io/file "resources/data/graphdb")))
但是,只需调用函数本身,即
(make-embedded-db (io/file "resources/data/graphdb"))
给出了实际错误:
VerifyError类org.bouncycastle.asn1.x500.X500Name重写最终方法equals
基本上,在谷歌上快速搜索一下这个错误,就会发现类路径中可能包含多个bouncycastle路径——检查graphdb文件夹中的debug.log实际上证实了这一点。我在同一个项目中包括了白炽灯,它还为bouncycastle添加了自己的路径,因此导致了这个问题。移除它解决了这个问题