Maven Repository Hosting

Host your Maven artifacts, public or private, for your whole team. No per-user pricing.

Setup in less than a minute
Connect to maven-releases: the repository URL to put in your Maven settings.
~/.m2/settings.xml
<settings>
  <servers>
    <server>
      <id>cloudrepo</id>
      <username>you@example.com</username>
      <password>${env.CLOUDREPO_TOKEN}</password>
    </server>
  </servers>
</settings>
Deploy
mvn deploy -DaltDeploymentRepository=cloudrepo::https://your-org.mycloudrepo.io/repositories/your-repo

Publish from CI with a repository token

The Repository Tokens page listing four tokens, each with the repositories it can reach, its scope, when it expires and where it was last used, and Rotate and Revoke actions.

What you get

Releases and snapshots for Maven, Gradle and sbt, with no server to run.

Public & Private Repositories
Host both public and private Maven artifacts with team-based access control.
Global HTTPS Access
Access your repositories from anywhere with secure HTTPS endpoints.
No Special Plugins
Works with standard Maven, Gradle, and other build tools out of the box.
Unlimited Artifacts
Upload as many artifacts as you like. Plans are priced by storage and transfer.
Version Management
Full support for SNAPSHOT and release versions, with a setting for how many snapshot builds to keep.
Security Built-in
User management, API keys, and encryption at rest.

Quick Setup Guide

Get up and running with CloudRepo Maven repositories in three simple steps.

1

Configure Your POM

Add CloudRepo to your pom.xml. One repository takes both releases and snapshots.

pom.xml
<distributionManagement>
  <repository>
    <id>cloudrepo</id>
    <url>https://your-org.mycloudrepo.io/repositories/your-repo</url>
  </repository>
</distributionManagement>
2

Configure Authentication

Add a server to ~/.m2/settings.xml with the same id as your repository. The username is your email address and the password is a repository token, read here from an environment variable.

~/.m2/settings.xml
<settings>
  <servers>
    <server>
      <id>cloudrepo</id>
      <username>you@example.com</username>
      <password>${env.CLOUDREPO_TOKEN}</password>
    </server>
  </servers>
</settings>
3

Deploy Your Artifacts

Deploy with the standard Maven command. A version ending in -SNAPSHOT can be published again and again; a release version is published once.

Terminal
mvn --batch-mode deploy

Works with Gradle, sbt, Leiningen and deps.edn

They all read Maven repositories, so they all work with CloudRepo.

Gradle

Publish with maven-publish, in Groovy or Kotlin DSL.

Gradle repository setup →

SBT (Scala)

Add CloudRepo to resolvers and publishTo in build.sbt.

SBT repository hosting →

Clojure deps.edn

Add CloudRepo to :mvn/repos in deps.edn.

Clojure repository setup →

Leiningen

Add CloudRepo to :repositories in project.clj, then lein deploy.

Leiningen repository →

Apache Ivy & Ant

Ivy and Ant read Maven repositories, so they work too.

View documentation →

Multi-Language Projects

Mix JVM and Python artifacts in one account. Perfect for polyglot teams.

See pricing →

Maven, Gradle, sbt and Leiningen all read the Maven repository format, so they all work with CloudRepo. Setup for each is in the documentation.

Comparing vendors? Read the JFrog alternative breakdown for Java teams, or the same rundown of Nexus alternatives.

Learn how Maven repositories work

New to Maven repositories? Our primer covers coordinates, snapshots and how Maven finds a dependency.

Read: What is a Maven Repository? →

Every plan includes human support and SSO. See pricing

Moving Maven repositories from Nexus or Artifactory?

Install the migration tool with one line. Run it with --dry-run first: a dry run lists what would move and uploads nothing.

Terminal
pipx install cloudrepo-migrate

No pipx? In a virtual environment, run pip install cloudrepo-migrate.

Follow the guide for your server

Ready to host your Maven artifacts?

Start your 14-day free trial. No credit card required.