Dependências e Plug-ins
Configure a compilação
Dependências e Plug-ins é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
Configurações de dependência
O Gradle agrupa as dependências por configuração, que controla quando e onde elas ficam disponíveis:
implementation— compilação e execução, sem exposição aos consumidoresapi— também exposta aos consumidorestestImplementation— somente para testes
implementation versus api
implementation oculta uma dependência dos módulos que dependem do seu, melhorando o desempenho da compilação e o encapsulamento. Use api somente quando a dependência aparecer nos seus tipos públicos.
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
Algumas dependências são necessárias em apenas uma fase:
compileOnly— presente durante a compilação, mas não empacotada (por exemplo, anotações)runtimeOnly— presente somente durante a execução (por exemplo, um driver JDBC)
dependencies {
compileOnly("org.projectlombok:lombok:1.18.32")
runtimeOnly("org.postgresql:postgresql:42.7.3")
}Coordenadas de dependência
Uma coordenada tem o formato group:name:version. Você pode dividi-la explicitamente para obter mais clareza.
dependencies {
implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}Dependências do Projeto
Em uma compilação com vários módulos, um módulo depende de outro com project(...).
dependencies {
implementation(project(":core"))
}Aplicando Plug-ins Principais
Os plug-ins integrados não precisam de versão. Os plug-ins da comunidade são aplicados com um identificador e uma versão.
plugins {
id("java-library")
kotlin("jvm") version "2.0.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
}Plug-ins do Portal
A maioria dos plug-ins é resolvida automaticamente pelo Gradle Plugin Portal quando aplicada no bloco plugins { } por identificador.
plugins {
id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}Excluindo Dependências Transitivas
Você pode excluir uma dependência transitiva indesejada que acompanha outra biblioteca.
dependencies {
implementation("com.example:lib:1.0") {
exclude(group = "org.slf4j", module = "slf4j-api")
}
}Forçando uma Versão
Resolva conflitos forçando uma versão específica por meio de uma estratégia de resolução.
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:33.2.1-jre")
}
}Inspecionando a Árvore de Dependências
Use a tarefa dependencies para ver o grafo resolvido e diagnosticar conflitos.
// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspathEscolhendo a Configuração Correta
Use implementation como padrão. Use api com moderação, testImplementation para testes e o par compileOnly/runtimeOnly para necessidades específicas de cada fase.
Verificação Rápida
Uma biblioteca de registro em log é usada apenas dentro do seu módulo e nunca aparece nos seus tipos públicos. Qual configuração é a mais adequada?
Recapitulação
Você configurou a compilação:
- Configurações:
implementation,api,compileOnly,runtimeOnly,testImplementation - Aplique plug-ins por identificador (com versão) ou como plug-ins principais
- Exclua ou force versões e inspecione a árvore
Próximo tópico: escrever tarefas personalizadas.
Perguntas Frequentes
A aula “Dependências e Plug-ins” é grátis?
Sim — o texto completo de “Dependências e Plug-ins” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Dependências e Plug-ins”?
Configure a compilação Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Dependências e Plug-ins”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- DSL do Kotlin para Gradle
- Dependências e Plug-ins
- Tarefas Personalizadas
- Catálogos de Versões