2012-03-17 45 views
6

編輯這個問題不是關於如何使用Ant/Maven/Gradle或whatnots來解決依賴問題。需要哪個罐子才能嵌入Neo4j?

我正在嘗試使用Neo4j,我對文檔感到有些困惑,因爲我需要嵌入一個非常簡單的「Hello,world!」 Neo4j例子在一個應用程序。

我讀過幾個地方Neo4j是輕量級的,只有一個(現在兩個)瓶子在需要的地方。

例如這裏:http://highscalability.com/neo4j-graph-database-kicks-buttox

,我們可以讀到:「佔地面積小的Neo4j是一個< 500k的罐子一個依賴(Java事務API)。」

這恰恰是我感興趣的Neo4j嵌入它的原因之一......

所以,我下載的Neo4j社區版(GPL),並在這裏讀到的解釋:

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

其中說:「提取Neo4j下載zip/tarball,並使用lib /目錄中找到的jar文件。」

現在,這不僅僅是簡潔,而且我發現舊消息說「措辭已改變」。 Neo4j所需要的一切都是一個 jar明顯(這是我有興趣嵌入Neo4j btw的原因之一)。但現在顯然是二,因爲有一些Java事務API的依賴(哪一個?一個附帶的Neo4j的.jar?)

的問題是,如果我看上去在的lib/ DIR我已經得到相當一些事情:

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 

而且在系統/ 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足夠強大,其重量接近17 MB(不是「可嵌入」)......我甚至沒有粘貼來自system/lib/的所有罐子。

那麼最小數量.jar(以及它們是哪些)我需要什麼才能嵌入Neo4j並運行一個簡單的「Hello,world!」例?

我很困惑官方文檔說:「...使用lib /目錄中找到的jar文件」

當然,我不需要所有他們是正確的?

回答

2

基本上,您只需要neo4j-kernel-1.6.1.jar(和上述交易API geronimo-jta_1.1_spec)。

但是,這隻會給你基本的功能。如果你想使用其他部分,如索引,查詢,管理工具等,你需要其他的罐子。

+0

+1確實很棒......我嘗試過使用neo4j-kernel,但是一些JTA確實缺失。我現在試試geronimo-jta。 (然後根據我的需要,我會逐步發現還需要什麼)。 – 2012-03-17 19:50:02

3

絕對最小運行內核

neo4j-kernel.jar 
jta.jar 

其餘的是暗號,Lucene的索引和其他的東西。

相關問題