Maven and Gradle groups
maven-central-group for Maven dependency resolution, gradle-group for Gradle plugin and Google repositories.
Maven Central plus Gradle plugin and Google repositories for Java, Kotlin, and Android builds.
maven-central-group for Maven dependency resolution, gradle-group for Gradle plugin and Google repositories.
Backend services, Android builds, Gradle plugin resolution, and standard Maven repositories — all in one place.
Public read access over HTTPS. Drop the URL into settings.xml or build.gradle and you are done.
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>kargadan</id>
<name>Kargadan Maven Mirror</name>
<url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
<repositories>
<repository>
<id>kargadan</id>
<url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>kargadan-plugins</id>
<url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
</pluginRepository>
</pluginRepositories>
repositories {
maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
mavenCentral()
}
// settings.gradle — for plugin resolution
pluginManagement {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
gradlePluginPortal()
}
}
repositories {
maven { url = uri("https://mirror.kargadan.ir/repository/gradle-group/") }
mavenCentral()
}
// settings.gradle.kts
pluginManagement {
repositories {
maven { url = uri("https://mirror.kargadan.ir/repository/gradle-group/") }
gradlePluginPortal()
}
}
allprojects {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
}
}
settingsEvaluated { settings ->
settings.pluginManagement {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
gradlePluginPortal()
}
}
}
buildscript {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.5.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0'
}
}
allprojects {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
google()
}
}
pluginManagement {
repositories {
maven { url 'https://mirror.kargadan.ir/repository/gradle-group/' }
google()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://mirror.kargadan.ir/repository/maven-central-group/' }
google()
}
}
FROM maven:3.9-eclipse-temurin-21 AS builder
COPY settings.xml /root/.m2/settings.xml
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src ./src
RUN mvn package -DskipTests
FROM eclipse-temurin:21-jre
COPY --from=builder /app/target/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Configure Maven mirror
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml <<'EOF'
<settings>
<mirrors>
<mirror>
<id>kargadan</id>
<url>https://mirror.kargadan.ir/repository/maven-central-group/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
EOF
- run: mvn -B package
| Maven mirror | Group Jamko, Myket, En-Mirror, Runflare + Maven Central |
| Gradle mirror | Group Same upstream sources, with Google & JitPack |
| Protocols | HTTPS · HTTP |
| Authentication | Not required (anonymous) |
For multi-module Maven projects, configure the mirror in ~/.m2/settings.xml rather than each pom.xml. Switching mirrors later is then a one-file change.