我正在寻找这个问题的最新答案.以前,最小的Neo4j"Hello World"应用程序需要两个罐子.现在它显然需要一些其他罐子,但我不知道哪些罐子.
如果我按照其他问题的建议包含neo4j-kernel-2.1.2和geronimo-jta_1.1_spec-1.1.1,我会收到此错误:
java.lang.ClassNotFoundException: org.neo4j.collection.primitive.PrimitiveLongIterator
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
Run Code Online (Sandbox Code Playgroud)
如果我添加neo4j-primitive-collections-2.1.2,那么我会因为这个根本原因而出错:
Caused by: java.lang.IllegalArgumentException: No schema index provider org.neo4j.kernel.api.index.SchemaIndexProvider found.
Run Code Online (Sandbox Code Playgroud)
关于这个问题的答案表明我需要neo4j-lucene-index.当我添加该jar时,我收到此错误:
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.store.Directory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
Run Code Online (Sandbox Code Playgroud)
最后,当我添加lucene-core时,我收到此错误:
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.document.Fieldable
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
Run Code Online (Sandbox Code Playgroud)
我需要添加什么才能超越它?
我相信我已经为Neo4j 2.x找到了最小的依赖关系集.我最初尝试使用lucene-core-4.9.0,但org.apache.lucene.document.Fieldable在版本3.6.2之后的某个时候,该接口已从该库中删除.因此,最小的罐子是:
neo4j-kernel (2.1.2)
neo4j-primitive-collections (2.1.2)
neo4j-lucene-index (2.1.2)
lucene-core (3.6.2)
jta (1.1)
Run Code Online (Sandbox Code Playgroud)
这些重约4.5 MB,比我想要的大,但我想我可以忍受它.我也被告知neo4j-lucene-index(这是需要的lucene-core)并不是严格要求的.就像jta,它实际上只是一个可能的实现所需的接口.但我不知道其他任何实施.
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |