【问题标题】:Which jars exactly are needed to embed Neo4j?嵌入 Neo4j 究竟需要哪些 jar?
【发布时间】:2012-04-02 21:12:08
【问题描述】:

编辑这个问题不是关于如何使用 Ant / Maven / Gradle 或诸如此类的解决依赖关系。

我正在尝试使用 Neo4j,但我对文档有点困惑,我需要嵌入一个非常简单的“Hello, world!”。应用中的 Neo4j 示例。

我在几个地方读到 Neo4j 是轻量级的,并且只需要一个(现在是两个)jar。

例如这里:http://highscalability.com/neo4j-graph-database-kicks-buttox

我们可以阅读:“占用空间小。Neo4j 是一个

这正是我对 Neo4j 感兴趣并嵌入它的原因之一......

所以我下载了 Neo4j 的社区版 (GPL) 并在此处阅读说明:

http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html

其中说:“解压 Neo4j 下载 zip/tarball,并使用在 lib/ 目录中找到的 jar 文件。”

现在这不仅仅是简洁,我发现旧消息说“措辞已更改”。在某一时刻,Neo4j 需要的只是 一个 jar 显然(这是我对嵌入 Neo4j 感兴趣的原因之一)。但现在显然是两个,因为依赖于一些 Java Transaction API(哪个?neo4j 附带的 .jar?)

问题是,如果我查看那个 lib/ 目录,我会发现很多东西:

1115454 lib/neo4j-kernel-1.6.1.jar
153707  lib/neo4j-graph-algo-1.6.1.jar
222791  lib/neo4j-shell-1.6.1.jar
8865464 lib/scala-library-2.9.0-1.jar
43530   lib/neo4j-jmx-1.6.1.jar
590503  lib/neo4j-kernel-1.6.1-tests.jar
23954   lib/neo4j-community-1.6.1.jar
28023   lib/neo4j-udc-1.6.1.jar
1517975 lib/neo4j-cypher-1.6.1.jar
51662   lib/neo4j-graph-matching-1.6.1.jar
16030   lib/geronimo-jta_1.1_spec-1.1.1.jar
143177  lib/neo4j-lucene-index-1.6.1.jar
1466301 lib/lucene-core-3.5.0.jar
118875  lib/server-api-1.6.1.jar
92850   lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar

在system/lib中:

27461   system/lib/blueprints-neo4j-graph-1.1.jar
72650   system/lib/jettison-1.3.jar
628626  system/lib/rrd4j-2.0.7.jar
17985   system/lib/asm-analysis-3.2.jar
177174  system/lib/jetty-util-6.1.25.jar
109043  system/lib/commons-io-1.4.jar
755981  system/lib/neo4j-server-1.6.1.jar
35910   system/lib/gremlin-java-1.4.jar
46367   system/lib/jsr311-api-1.1.1.jar
36551   system/lib/asm-util-3.2.jar
206035  system/lib/commons-beanutils-core-1.8.0.jar
227122  system/lib/jackson-core-asl-1.8.3.jar
33094   system/lib/asm-commons-3.2.jar
17308   system/lib/jcl-over-slf4j-1.6.1.jar
21878   system/lib/asm-tree-3.2.jar
12359   system/lib/log4j-over-slf4j-1.6.1.jar
.
.   (skipped a few jars from system/lib here)
.  

如果我的 Emacs-fu 足够强大,则 jars 的重量接近 17 MB(不是那种“可嵌入”)...而且我什至没有粘贴 中的所有 jars系统/lib/.

那么,我需要最少多少个 .jar(它们是什么),这样我才能嵌入 Neo4j 并运行一个简单的“Hello, world!”例子?

我对官方文档的说法感到困惑:“...使用在 lib/ 目录中找到的 jar 文件”。

我当然不需要所有,对吧?

【问题讨论】:

    标签: java jar dependencies neo4j


    【解决方案1】:

    基本上,您只需要neo4j-kernel-1.6.1.jar(以及提到的事务API geronimo-jta_1.1_spec)。

    但是,这只会为您提供基本功能。如果要使用其他部分,例如索引、查询、管理工具等,则需要其他 jar。

    【讨论】:

    • +1 好的,太好了...我确实尝试过只使用 neo4j-kernel,但确实缺少一些 JTA。我现在将尝试使用geronimo-jta。 (然后我会根据我的需要逐步发现还需要什么)。
    【解决方案2】:

    运行内核的绝对最小值是

    neo4j-kernel.jar
    jta.jar
    

    剩下的就是 Cypher、Lucene 索引和其他东西。

    【讨论】:

      猜你喜欢
      • 2021-10-28
      • 2015-05-10
      • 2017-10-28
      • 2013-10-20
      • 2019-01-24
      • 2017-12-16
      • 1970-01-01
      • 2018-03-24
      • 2021-04-15
      相关资源
      最近更新 更多