0Pricing
Kotlin Academy · Lektion

Abhängigkeiten und Plugins

Konfigurieren Sie den Build

Abhängigkeiten und Plugins ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Abhängigkeitskonfigurationen

Gradle gruppiert Abhängigkeiten nach Konfiguration. Diese legt fest, wann und wo sie verfügbar sind:

  • implementation — Kompilierung und Laufzeit, für Consumer nicht sichtbar
  • api — auch für Consumer sichtbar
  • testImplementation — nur für Tests

implementation im Vergleich zu api

implementation verbirgt eine Abhängigkeit vor Modulen, die von Ihrem Modul abhängen, und verbessert dadurch Build-Performance und Kapselung. Verwenden Sie api nur, wenn die Abhängigkeit in Ihren öffentlichen Typen vorkommt.

dependencies {
    api("com.squareup.okio:okio:3.9.0")          // leaks into public API
    implementation("com.google.code.gson:gson:2.11.0") // internal only
}

compileOnly und runtimeOnly

Einige Abhängigkeiten werden nur in einer Phase benötigt:

  • compileOnly — zur Compile-Zeit vorhanden, wird nicht verpackt (z. B. Annotationen)
  • runtimeOnly — nur zur Laufzeit vorhanden (z. B. ein JDBC-Treiber)
dependencies {
    compileOnly("org.projectlombok:lombok:1.18.32")
    runtimeOnly("org.postgresql:postgresql:42.7.3")
}

Abhängigkeitskoordinaten

Eine Koordinate hat das Format group:name:version. Sie können sie zur besseren Verständlichkeit auch explizit aufteilen.

dependencies {
    implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}

Projektabhängigkeiten

In einem Multi-Modul-Build hängt ein Modul mit project(...) von einem anderen Modul ab.

dependencies {
    implementation(project(":core"))
}

Core-Plugins anwenden

Integrierte Plugins benötigen keine Version. Community-Plugins werden mit einer ID und einer Version angewendet.

plugins {
    id("java-library")
    kotlin("jvm") version "2.0.0"
    id("com.github.johnrengelman.shadow") version "8.1.1"
}

Plugins aus dem Portal

Die meisten Plugins werden automatisch aus dem Gradle Plugin Portal aufgelöst, wenn sie im Block plugins { } über ihre ID angewendet werden.

plugins {
    id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}

Transitive Abhängigkeiten ausschließen

Sie können eine unerwünschte transitive Abhängigkeit ausschließen, die zusammen mit einer anderen Bibliothek eingebunden wird.

dependencies {
    implementation("com.example:lib:1.0") {
        exclude(group = "org.slf4j", module = "slf4j-api")
    }
}

Eine Version erzwingen

Lösen Sie Konflikte, indem Sie über eine Auflösungsstrategie eine bestimmte Version erzwingen.

configurations.all {
    resolutionStrategy {
        force("com.google.guava:guava:33.2.1-jre")
    }
}

Abhängigkeitsbaum untersuchen

Verwenden Sie den Task dependencies, um den aufgelösten Abhängigkeitsgraphen anzuzeigen und Konflikte zu analysieren.

// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspath

Die richtige Konfiguration wählen

Verwenden Sie standardmäßig implementation. Setzen Sie api sparsam ein, verwenden Sie testImplementation für Tests und das Paar compileOnly/runtimeOnly für phasenspezifische Anforderungen.

Kurztest

Eine Logging-Bibliothek wird nur innerhalb Ihres Moduls verwendet und erscheint nie in Ihren öffentlichen Typen. Welche Konfiguration ist am besten geeignet?

Zusammenfassung

Sie haben den Build konfiguriert:

  • Konfigurationen: implementation, api, compileOnly, runtimeOnly, testImplementation
  • Plugins über ihre ID (mit Version) oder als Core-Plugins anwenden
  • Versionen ausschließen oder erzwingen und den Abhängigkeitsbaum untersuchen

Als Nächstes: eigene Tasks schreiben.

Häufig gestellte Fragen

Ist die Lektion „Abhängigkeiten und Plugins“ kostenlos?

Ja — der vollständige Text von „Abhängigkeiten und Plugins“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Abhängigkeiten und Plugins“?

Konfigurieren Sie den Build Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Abhängigkeiten und Plugins“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Gradle Kotlin DSL
  2. Abhängigkeiten und Plugins
  3. Benutzerdefinierte Tasks
  4. Versionskataloge
← Zurück zu Kotlin Academy