0Pricing
Kotlin Academy · Lekcja

Zależności i wtyczki

Konfiguruj proces budowania

Zależności i wtyczki to bezpłatna lekcja Kotlin Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Academy zawiera 4 lekcji w sumie.

Konfiguracje zależności

Gradle grupuje zależności według konfiguracji, która określa, kiedy i gdzie są one dostępne:

  • implementation — kompilacja i uruchomienie, bez udostępniania odbiorcom
  • api — dodatkowo udostępniana odbiorcom
  • testImplementation — tylko do testów

implementation a api

implementation ukrywa zależność przed modułami zależnymi od danego modułu, poprawiając wydajność budowania i hermetyzację. api należy stosować tylko wtedy, gdy zależność występuje w publicznych typach.

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 i runtimeOnly

Niektóre zależności są potrzebne tylko na jednym etapie:

  • compileOnly — dostępna podczas kompilacji, ale niepakowana (np. adnotacje)
  • runtimeOnly — dostępna tylko w czasie działania (np. sterownik JDBC)
dependencies {
    compileOnly("org.projectlombok:lombok:1.18.32")
    runtimeOnly("org.postgresql:postgresql:42.7.3")
}

Współrzędne zależności

Współrzędne mają postać group:name:version. Dla większej czytelności można rozdzielić je jawnie.

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

Zależności projektu

W kompilacji wielomodułowej jeden moduł zależy od innego za pomocą project(...).

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

Stosowanie podstawowych wtyczek

Wbudowane wtyczki nie wymagają podania wersji. Wtyczki społecznościowe stosuje się, podając ich identyfikator i wersję.

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

Wtyczki z portalu

Większość wtyczek jest automatycznie pobierana z Gradle Plugin Portal, gdy zostaną zastosowane w bloku plugins { } za pomocą identyfikatora.

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

Wykluczanie zależności przechodnich

Można wykluczyć niechcianą zależność przechodnią, która jest dołączana razem z inną biblioteką.

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

Wymuszanie wersji

Konflikty można rozwiązywać, wymuszając konkretną wersję za pomocą strategii rozwiązywania zależności.

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

Sprawdzanie drzewa zależności

Użyj zadania dependencies, aby zobaczyć rozwiązaną strukturę zależności i zdiagnozować konflikty.

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

Wybór właściwej konfiguracji

Domyślnie używaj implementation. Stosuj api oszczędnie, testImplementation do testów, a parę compileOnly/runtimeOnly w zależności od potrzeb konkretnej fazy.

Szybki test

Biblioteka do logowania jest używana wyłącznie wewnątrz modułu i nigdy nie pojawia się w jego publicznych typach. Która konfiguracja będzie najlepsza?

Podsumowanie

Skonfigurowano kompilację:

  • Konfiguracje: implementation, api, compileOnly, runtimeOnly, testImplementation
  • Stosowanie wtyczek za pomocą identyfikatora (z wersją) lub jako wtyczek podstawowych
  • Wykluczanie i wymuszanie wersji oraz sprawdzanie drzewa zależności

Następnie: pisanie własnych zadań.

Często zadawane pytania

Czy lekcja „Zależności i wtyczki” jest bezpłatna?

Tak — pełny tekst „Zależności i wtyczki” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Academy, przejdź na CoddyKit PRO. Kurs Kotlin Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Zależności i wtyczki”?

Konfiguruj proces budowania Ćwiczysz Kotlin Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Kotlin Academy?

Nie wymagamy żadnego doświadczenia. Kotlin Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Zależności i wtyczki”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Academy?

Tak. Każda lekcja Kotlin Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Gradle Kotlin DSL
  2. Zależności i wtyczki
  3. Niestandardowe zadania
  4. Katalogi wersji
← Powrót do Kotlin Academy