0Pricing
Kotlin Academy · Lezione

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 consumatori
  • api — esposta anche ai consumatori
  • testImplementation — 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 runtimeClasspath

Scelta 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

  1. Gradle Kotlin DSL
  2. Dipendenze e plugin
  3. Task personalizzati
  4. Cataloghi delle versioni
← Torna a Kotlin Academy