Snapshots and Daily Builds
Using nightly snapshot builds of Eclipse Deeplearning4j 1.0.0-M2.1 — repository configuration, version identifiers, Maven and Gradle setup.
Overview
Snapshot builds of Eclipse Deeplearning4j are published automatically after each successful CI build. They include the latest bug fixes, new operations, and experimental features ahead of the next stable release. Snapshots are served from the Sonatype OSS snapshot repository rather than Maven Central.
Stability warning: Snapshots are development builds. Breaking changes or regressions may be introduced at any point. Use the latest stable release in production; use snapshots only when you need a specific fix or feature that has not yet been released.
Snapshot Version Identifier
The current snapshot version is:
1.0.0-SNAPSHOTThis tracks the development branch for the next release after 1.0.0-M2.1.
Repository Configuration
Maven
Add the Sonatype snapshot repository to your pom.xml:
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>Then set the version property:
Gradle
Gradle and classifiers: Due to a known Gradle bug, snapshot dependencies that include Maven classifiers (e.g., platform artifacts with OS classifiers) do not resolve correctly in Gradle. If you encounter resolution failures with
-platformartifacts, use Maven or manually list the OS-specific artifacts.
Sample Minimal pom.xml (CPU)
ND4J Backend Configuration for Snapshots
The backend is selected by the dependency you include, exactly as with stable releases.
CPU backend:
GPU backend (CUDA 11.6):
If you need cuDNN integration with a snapshot build:
Forcing Snapshot Updates
By default, Maven checks for new snapshots based on the updatePolicy set in the repository configuration. To force Maven to download the latest snapshot immediately:
The -U flag forces Maven to check for new snapshot versions regardless of the update policy.
To prevent Maven from checking for updates (useful in offline or CI cache scenarios):
-nsu (no snapshot updates) requires that the snapshot artifact is already in the local .m2 cache. The build will fail if the snapshot is not cached.
Platform Artifacts and Build Timing
Because snapshot builds are produced for multiple platforms (Linux x86_64, Linux ARM64, macOS x86_64, macOS ARM64, Windows x86_64) and not all platform builds complete simultaneously, -platform artifacts can temporarily become inconsistent. This may cause build errors such as missing classifiers.
If you are building and deploying to a single known platform, use the single-platform artifact to avoid this:
Snapshot Limitations
No semantic versioning guarantee
Snapshots may contain breaking API changes
Gradle classifiers
Platform artifacts with OS classifiers may not resolve due to a Gradle bug
Temporary build failures
Snapshots can be unavailable for short periods during CI runs
Not recommended for production
Use a stable release (1.0.0-M2.1) in production environments
Checking Which Snapshot You Have
To see the exact snapshot build date and commit hash:
Or browse the Sonatype snapshot repository directly:
Each snapshot sub-version shows a timestamp in the format 1.0.0-YYYYMMDD.HHMMSS-N.
Related Pages
Maven Setup — stable release dependency configuration
Build Tools — Gradle and other build tool configuration
GPU and CPU Setup — backend selection
Last updated
Was this helpful?