java jar dependencies neo4j

java - ¿Qué jarras son exactamente necesarios para incrustar Neo4j?



dependencies (2)

EDITAR Esta pregunta no trata sobre cómo resolver dependencias usando Ant / Maven / Gradle o whatnots.

Intento utilizar Neo4j y los documentos me confunden un poco sobre lo que necesito para insertar un muy simple "¡Hola, mundo!" Ejemplo de Neo4j en una aplicación.

He leído en varios lugares que Neo4j era liviano y que solo uno (y ahora dos) frascos donde era necesario.

Por ejemplo aquí: http://highscalability.com/neo4j-graph-database-kicks-buttox

podemos leer: "Pequeña huella. Neo4j es un solo tarro <500k con una dependencia (la API de transacción de Java)".

Esta es precisamente una de las razones por las que estoy interesado en Neo4j para incrustarlo ...

Así que descargué la edición de comunidad (GPL) de Neo4j y leí la explicación aquí:

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

que dice: "Extrae un zip / tarball de descarga de Neo4j y utiliza los archivos jar encontrados en el directorio lib /".

Ahora que es más que conciso y he encontrado mensajes antiguos que dicen que "la redacción ha cambiado". En un momento, todo lo que Neo4j necesitaba era aparentemente un contenedor (que es una de las razones por las que estaba interesado en incorporar Neo4j por cierto). Pero ahora, aparentemente, son dos, porque hay una dependencia en algunas API de transacción de Java (¿cuál se envió? A .jar con neo4j ?)

El problema es que si miro ese lib / dir tengo bastantes cosas:

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

Y en 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) .

Si mi Emacs-fu es lo suficientemente fuerte, los frascos superiores a un peso de casi 17 MB (no ese "incrustable") ... Y ni siquiera pegué todos los frascos del sistema / lib / .

Entonces, ¿cuál es el número mínimo de .jar (y cuáles son) que necesito para poder incrustar Neo4j y ejecutar un simple "¡Hola, mundo!" ¿ejemplo?

Estoy confundido por el documento oficial que dice: "... use los archivos jar que se encuentran en el directorio lib /" .

Seguramente no los necesito a todos ¿verdad?


Básicamente, solo necesita neo4j-kernel-1.6.1.jar (y la transacción mencionada API geronimo-jta_1.1_spec ).

Sin embargo, esto le dará solo la funcionalidad básica. Si desea usar otras partes, como indexación, consultas, herramientas de administración, etc., necesitará otros frascos.


El mínimo absoluto para ejecutar el kernel es

neo4j-kernel.jar jta.jar

El resto es Cypher, indexación Lucene y otras cosas.