For more information, visit: http://neo4j.org/
For helping out improving Neo4j, check out the intro on contributing code.
At least as of Neo4j 1.7 and OpenJDK 1.7.0_147-icedtea, OpenJDK 7 is unable to build Neo4j with following error:
java.lang.AssertionError: Missing type variable in where clause T
Please use JDK 6 (OpenJDK is fine) to build Neo4j.
In addition, you need to allow enough memory to the Maven build process, for example by adding before launching Maven:
export MAVEN_OPTS="-Xms384M -Xmx1g -XX:MaxPermSize=256M"
At least on OpenJDK 1.6.0_23, building Neo4j with the default settings throws misleading exceptions such as: (reproduced here for your information)
[ERROR] Specifications.java:[178,33] cannot find symbol symbol : method and(java.lang.Iterable<java.lang.Object>) location: class org.neo4j.helpers.Specifications [ERROR] Iterables.java:[342,63] <FROM,TO>map( org.neo4j.helpers.Function<? super FROM,? extends TO>, java.lang.Iterable<FROM>) in org.neo4j.helpers.collection.Iterables cannot be applied to (<anonymous org.neo4j.helpers.Function<java.lang.Iterable<T>, java.util.Iterator<T>>>,java.lang.Iterable<java.lang.Object>)
git clone git://github.com/neo4j/community.git mvn clean install
To build Neo4j, use Apache Maven, version 3.
These instructions are for OS X, with homebrew installed.
-
Prepare the repo:
rm -rf ~/.m2/repository/org/neo4j mkdir build cd build
-
Build Neo4j (requires the AsciiDoc toolchain and, currently, Python with JPype installed. Run the mvn command with
-DskipNativeDeps
to skip that part):git clone git://github.com/neo4j/neo4j.git cd neo4j git pull origin master mvn clean install -Dmaven.test.skip=true cd ..
-
Install the AsciiDoc toolchain:
brew install docbook asciidoc w3m fop graphviz
-
Register the DocBook DTDs:
sudo src/build/osx-register-docbook
-
(OS X only) In the manual toplevel directory, please run:
sudo src/build/osx-register-docbook
Neo4j is mounted in Eclipse using the M2E Eclipse Maven plugin, as Import › Existing Maven Projects, see a video by Paul De Velder: Neo4j development setup in Eclipse.