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 sichtbarapi— auch für Consumer sichtbartestImplementation— 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 runtimeClasspathDie 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
- Gradle Kotlin DSL
- Abhängigkeiten und Plugins
- Benutzerdefinierte Tasks
- Versionskataloge