Maven and Gradle
Use rvn mvn and native Maven tooling to install and deploy private JVM artifacts from Ravenstash without modifying global settings.xml.
Updated 2026-06-24
This guide covers native Maven tooling. For the simpler rvn pkg workflow that works without touching Maven configuration, see Getting started.
The examples use acme/jvm as a sample workspace and repository. In Ravenstash, copy the exact values from your repository page.
rvn mvn — native mvn with injected auth
rvn mvn passes all arguments directly to mvn, injecting the private repository URL and credentials from the active session. Your global settings.xml is not modified.
rvn mvn install --repo acme/jvm
Configure Maven directly
For environments where rvn is not available, configure the repository in pom.xml:
<repository>
<id>ravenstash</id>
<url>https://rvnsta.sh/n/maven/x/acme/jvm/</url>
</repository>
And credentials in settings.xml:
<server>
<id>ravenstash</id>
<username>token</username>
<password>${env.RAVENSTASH_TOKEN}</password>
</server>
Publish with rvn pkg
For publishing, use rvn pkg publish rather than mvn deploy. It uploads directly to Ravenstash:
rvn pkg publish --repo acme/jvm
Current status
Available today: private Maven publishing, repository metadata, checksums, snapshots, releases, and authenticated artifact downloads. Public or anonymous Maven repositories are planned for later.
