Configuring Automated Build Tools

While we encourage Deeplearning4j, ND4J and DataVec users to employ Maven, it’s worthwhile documenting how to configure build files for other tools, like Ivy, Gradle and SBT – particularly since Google prefers Gradle over Maven for Android projects.

The instructions below apply to all DL4J and ND4J submodules, such as deeplearning4j-api, deeplearning4j-scaleout, and ND4J backends. You can find the latest version of any project or submodule on Maven Central. As of October 2016, the latest version is 0.6.0. Building from source, the latest version is 0.6.1-SNAPSHOT.


You can use Deeplearning4j with Maven by adding the following to your POM.xml:



You can use lombok with ivy by adding the following to your ivy.xml:

<dependency org="org.deeplearning4j" name="deeplearning4j-core" rev="0.6.0" conf="build" />


You can use Deeplearning4j with SBT by adding the following to your build.sbt:

libraryDependencies += "org.deeplearning4j" % "deeplearning4j-core" % "0.6.0"


You can use Deeplearning4j with Gradle by adding the following to your build.gradle in the dependencies block:

provided "org.deeplearning4j:deeplearning4j-core:0.6.0"


Clojure programmers may want to use Leiningen or Boot to work with Maven. A Leiningen tutorial is here.

NOTE: You’ll still need to download ND4J, DataVec and Deeplearning4j, or doubleclick on the their respective JAR files file downloaded by Maven / Ivy / Gradle, to install them in your Eclipse installation.


Backends and other dependencies are explained on the ND4J website.

Chat with us on Gitter