Dipendenze e plugin
Configuri la build
Dipendenze e plugin è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.
Configurazioni delle dipendenze
Gradle raggruppa le dipendenze in base alla configurazione, che controlla quando e dove sono disponibili:
implementation— compilazione ed esecuzione, non esposta ai consumatoriapi— esposta anche ai consumatoritestImplementation— solo per i test
implementation rispetto ad api
implementation nasconde una dipendenza ai moduli che dipendono dal proprio, migliorando le prestazioni della build e l'incapsulamento. Usi api solo quando la dipendenza compare nei tipi pubblici.
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 e runtimeOnly
Alcune dipendenze sono necessarie soltanto in una fase:
compileOnly— presente in fase di compilazione, ma non inclusa nel pacchetto (ad esempio le annotazioni)runtimeOnly— presente solo durante l'esecuzione (ad esempio un driver JDBC)
dependencies {
compileOnly("org.projectlombok:lombok:1.18.32")
runtimeOnly("org.postgresql:postgresql:42.7.3")
}Coordinate delle dipendenze
Una coordinata ha il formato group:name:version. Per maggiore chiarezza, può suddividerla esplicitamente.
dependencies {
implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}Dipendenze del progetto
In una build multi-modulo, un modulo dipende da un altro tramite project(...).
dependencies {
implementation(project(":core"))
}Applicazione dei plugin principali
I plugin integrati non richiedono una versione. I plugin della community vengono applicati con un id e una versione.
plugins {
id("java-library")
kotlin("jvm") version "2.0.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
}Plugin dal portale
La maggior parte dei plugin viene risolta automaticamente dal Gradle Plugin Portal quando viene applicata tramite id nel blocco plugins { }.
plugins {
id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}Esclusione delle dipendenze transitive
Può escludere una dipendenza transitiva indesiderata che viene inclusa insieme a un'altra libreria.
dependencies {
implementation("com.example:lib:1.0") {
exclude(group = "org.slf4j", module = "slf4j-api")
}
}Forzare una versione
Risolva i conflitti forzando una versione specifica tramite una strategia di risoluzione.
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:33.2.1-jre")
}
}Ispezione dell'albero delle dipendenze
Usi il task dependencies per visualizzare il grafo risolto e diagnosticare i conflitti.
// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspathScelta della configurazione corretta
Usi implementation come impostazione predefinita. Utilizzi api con parsimonia, testImplementation per i test e la coppia compileOnly/runtimeOnly per le esigenze specifiche di ciascuna fase.
Verifica rapida
Una libreria di logging viene utilizzata solo all'interno del modulo e non compare mai nei tipi pubblici. Qual è la configurazione più adatta?
Riepilogo
Ha configurato la build:
- Configurazioni:
implementation,api,compileOnly,runtimeOnly,testImplementation - Applicazione dei plugin tramite id (con versione) oppure come plugin principali
- Esclusione e forzatura delle versioni e ispezione dell'albero
Successivamente: scrivere task personalizzati.
Domande Frequenti
La lezione «Dipendenze e plugin» è gratuita?
Sì — il testo completo di «Dipendenze e plugin» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.
Cosa imparerò in «Dipendenze e plugin»?
Configuri la build Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Dipendenze e plugin»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?
Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Gradle Kotlin DSL
- Dipendenze e plugin
- Task personalizzati
- Cataloghi delle versioni