EDITAR Esta pregunta no trata sobre cómo resolver dependencias usando Ant/Maven/Gradle o whatnots.¿Qué jarrones son exactamente necesarios para incrustar Neo4j?
Estoy tratando de usar Neo4j y estoy un poco confundido por los documentos en cuanto a 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: "Ocupa poco espacio Neo4j es un solo frasco < 500k con una dependencia (la API de Java de transacciones)."
Ésta es precisamente una de las razones que me interesa Neo4j para incrustarla ...
lo que he descargado la edición de la comunidad (GPL) de Neo4j y leer la explicación aquí:
http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html
que dice: "Extraiga un zip/tarball de descarga de Neo4j y utilice los archivos jar que se encuentran 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 dado, todo lo que Neo4j necesitaba era un jar aparentemente (que es una de las razones por las que estaba interesado en incorporar Neo4j por cierto). Pero ahora al parecer es dos, porque hay una dependencia de alguna API Java Transaction (¿cuál? Un .jar envía con Neo4j?)
El problema es que si miro en ese lib/ dir I ¡lo 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 sistema/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, jarros tiene un peso superior a casi 17 MB (no es "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) lo que necesito para que pueda incrustar Neo4j y ejecutar un simple "¡Hola, mundo!" ¿ejemplo?
Me confunde el documento oficial que dice: "... use los archivos jar que se encuentran en el directorio lib /".
Seguramente no necesito todos de ellos, ¿verdad?
+1 ok genial ... Lo intenté con solo el neo4j-kernel, pero faltaba algo de JTA. Ahora intentaré con geronimo-jta. (y luego descubriré paso a paso qué más se necesita según mis necesidades). –