依存関係とプラグイン
ビルドを設定します
「依存関係とプラグイン」はCoddyKit上の無料Kotlin Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKotlin Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kotlin Academyコースには全4レッスンが含まれています。
依存関係の構成
Gradleは依存関係を構成ごとにグループ化します。構成によって、依存関係をいつ、どこで利用できるかが決まります。
implementation— コンパイル時と実行時に使用できますが、利用者には公開されませんapi— 利用者にも公開されますtestImplementation— テストでのみ使用できます
implementationとapiの比較
implementationは依存するモジュールから依存関係を隠すため、ビルドのパフォーマンスとカプセル化が向上します。依存関係が公開型に現れる場合にのみ、apiを使用してください。
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とruntimeOnly
依存関係の中には、1つのフェーズでのみ必要になるものがあります。
compileOnly— コンパイル時に存在しますが、パッケージには含まれません(アノテーションなど)runtimeOnly— 実行時にのみ存在します(JDBCドライバーなど)
dependencies {
compileOnly("org.projectlombok:lombok:1.18.32")
runtimeOnly("org.postgresql:postgresql:42.7.3")
}依存関係の座標
座標はgroup:name:versionの形式です。明確さを重視する場合は、個別に分けて指定できます。
dependencies {
implementation(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.1")
}プロジェクトの依存関係
マルチモジュールビルドでは、あるモジュールが別のモジュールに project(...) で依存します。
dependencies {
implementation(project(":core"))
}コアプラグインの適用
組み込みプラグインにはバージョンの指定は必要ありません。コミュニティプラグインは ID とバージョンを指定して適用します。
plugins {
id("java-library")
kotlin("jvm") version "2.0.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
}ポータルからのプラグイン
ほとんどのプラグインは、plugins { } ブロックで ID を指定して適用すると、Gradle Plugin Portal から自動的に解決されます。
plugins {
id("org.jetbrains.kotlin.plugin.serialization") version "2.0.0"
}推移的依存関係の除外
別のライブラリに伴って追加される、不要な推移的依存関係を除外できます。
dependencies {
implementation("com.example:lib:1.0") {
exclude(group = "org.slf4j", module = "slf4j-api")
}
}バージョンの強制
解決戦略を使って特定のバージョンを強制し、競合を解決します。
configurations.all {
resolutionStrategy {
force("com.google.guava:guava:33.2.1-jre")
}
}依存関係ツリーの確認
dependencies タスクを使うと、解決された依存関係グラフを確認して競合を診断できます。
// ./gradlew dependencies
// ./gradlew app:dependencies --configuration runtimeClasspath適切なコンフィグレーションの選択
原則として implementation を使います。api は必要最小限にし、テストには testImplementation を、フェーズ固有の用途には compileOnly/runtimeOnly の組み合わせを使います。
クイックチェック
ロギングライブラリをモジュール内でのみ使用し、公開型に一度も現れない場合、最適なコンフィグレーションはどれですか。
まとめ
ビルドを構成しました。
- コンフィグレーション:
implementation、api、compileOnly、runtimeOnly、testImplementation - ID とバージョンを指定するか、コアプラグインとしてプラグインを適用する
- バージョンを除外・強制し、依存関係ツリーを確認する
次はカスタムタスクの作成です。
よくある質問
「依存関係とプラグイン」レッスンは無料ですか?
はい。「依存関係とプラグイン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kotlin Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kotlin Academyコースには全4レッスンが含まれています。
「依存関係とプラグイン」で何を学びますか?
ビルドを設定します ブラウザで直接実行するハンズオンコードでKotlin Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Kotlin Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのKotlin Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「依存関係とプラグイン」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このKotlin Academyレッスンでコードを書いて実行できますか?
はい。すべてのKotlin Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Gradle Kotlin DSL
- 依存関係とプラグイン
- カスタムタスク
- バージョンカタログ