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 odbiorcomapi— dodatkowo udostępniana odbiorcomtestImplementation— 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 runtimeClasspathWybó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
- Gradle Kotlin DSL
- Zależności i wtyczki
- Niestandardowe zadania
- Katalogi wersji