我一直Neo4J 1.8.x
在应用程序框架中用作嵌入式数据库,它打破ServiceLoader
了Neo4j
. 到目前为止,我已经通过使用Neo4j 的 OSGi 指令解决了这个问题。这效果很好。
但是,这些OSGi
说明不再适用于1.9.0
,1.9.1
或2.0.0-M03
。初始化嵌入式数据库时,出现此异常:
java.lang.ExceptionInInitializerError
at plugins.fritter.Fritter.setupNeo4j(Fritter.java:240)
at plugins.fritter.Fritter.runPlugin(Fritter.java:106)
at freenet.pluginmanager.PluginHandler.startPlugin(PluginHandler.java:45)
at freenet.pluginmanager.PluginManager.realStartPlugin(PluginManager.java:394)
at freenet.pluginmanager.PluginManager.startPluginFile(PluginManager.java:367)
at freenet.clients.http.PproxyToadlet$3.run(PproxyToadlet.java:157)
at freenet.support.PooledExecutor$MyThread.innerRun(PooledExecutor.java:247)
at freenet.support.PooledExecutor$MyThread.realRun(PooledExecutor.java:187)
at freenet.support.io.NativeThread.run(NativeThread.java:129)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.neo4j.graphdb.factory.GraphDatabaseSettings.<clinit>(GraphDatabaseSettings.java:79)
... 9 more
我知道OSGi
设置说明已经从1.9.0
更高版本的OSGI更改,但新的初始化方法并没有解决这个问题。
neo4j
>在/上下文中是否1.8.3
仍然支持,如果是,那么设置它的正确方法是什么?non-ServiceLoader
OSGi