JVM Languages
CloudRepo provides comprehensive support for JVM-based languages and build tools.
Overview
The JVM ecosystem is one of CloudRepo’s core strengths, with native support for all major build tools and frameworks used in Java, Kotlin, Scala, Clojure, and other JVM languages.
Supported Build Tools
Apache Maven - The most widely used Java build tool
Gradle - Modern build automation with Groovy and Kotlin DSL
SBT - The interactive build tool for Scala
Leiningen - Build automation for Clojure
deps.edn - Clojure CLI tools
Repository Layout
CloudRepo uses the standard Maven 2 repository layout, ensuring compatibility with all JVM build tools:
/repository-name/
├── com/
│ └── example/
│ └── my-library/
│ ├── 1.0.0/
│ │ ├── my-library-1.0.0.jar
│ │ ├── my-library-1.0.0.pom
│ │ └── my-library-1.0.0-sources.jar
│ └── maven-metadata.xml
Common Configuration
All JVM build tools share similar configuration patterns:
Repository URL Format
https://[org-id].cloudrepo.io/repository/[repository-name]
Authentication
Use one of these methods:
Username/Password: Your CloudRepo credentials
API Key: Generated from the CloudRepo dashboard
Environment Variables: For CI/CD systems
Quick Start Examples
Maven
<repository>
<id>cloudrepo</id>
<url>https://[org-id].cloudrepo.io/repository/maven-releases</url>
</repository>
Gradle
repositories {
maven {
url "https://[org-id].cloudrepo.io/repository/maven-releases"
}
}
SBT
resolvers += "CloudRepo" at "https://[org-id].cloudrepo.io/repository/maven-releases"
Best Practices
Separate Release and Snapshot Repositories: Use different repositories for stable releases and development snapshots
Use Repository Groups: Combine multiple repositories into a single URL
Configure Caching: Set appropriate cache timeouts for snapshots
Secure Credentials: Never commit credentials to version control
Next Steps
Choose your build tool to get detailed configuration instructions:
Maven Repositories - Apache Maven setup
Gradle Repositories - Gradle configuration
SBT Repositories - SBT and Scala setup
Clojure deps.edn Repositories - Clojure with deps.edn
Leiningen Repositories - Leiningen configuration