0Pricing
Java Academy · レッスン

Gradle の基礎

build.gradle とタスクです。

「Gradle の基礎」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。

Gradleの基礎

Gradleは、静的なXMLではなくプログラム可能なビルドスクリプトを使用する柔軟なビルドツールです。ビルドはタスクのグラフとしてモデル化され、スクリプトはGroovyまたはKotlin DSLで記述します。このレッスンでは基本事項を説明します。

ビルドスクリプト

設定はbuild.gradle(Groovy)またはbuild.gradle.kts(Kotlin)に記述します。これは実際のコードなので、ロジック、変数、関数を使うことができ、MavenのXMLよりもはるかに柔軟です。

プラグインの適用

機能はpluginsブロックで適用するプラグインから提供されます。javaプラグインを適用すると、コンパイル、テスト、標準のソースレイアウト(Mavenと同じsrc/main/java)が追加されます。

plugins {
    id 'java'
    id 'application'
}

リポジトリの宣言

repositoriesブロックで、依存関係を取得する場所をGradleに指定します。通常はmavenCentral()を選択し、Mavenと同じアーティファクトを使用します。

repositories {
    mavenCentral()
}

依存関係と構成

依存関係は、Mavenのスコープに対応する名前付きの構成の下に追加します。implementation、api、testImplementation、runtimeOnly、compileOnlyがあります。

dependencies {
    implementation 'com.google.guava:guava:33.0.0-jre'
    testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0'
}

implementation vs api

Gradleには重要な違いがあります。

  • implementation — 依存関係がライブラリの利用者から隠されます(再コンパイルが高速になります)。
  • api — 依存関係が利用者のコンパイルクラスパスに公開されます。

型がパブリックAPIに登場する場合を除き、implementationを優先してください。

タスク

Gradleが行う処理はすべてタスクです。compileJava、test、jar、buildなどがあります。タスクは互いの依存関係を宣言し、有向非巡回グラフを形成します。Gradleはこのグラフを順番に実行します。

タスクの実行

ラッパーを使ってタスクを呼び出します。./gradlew build、./gradlew test、./gradlew runなどです。ラッパーによってプロジェクトごとにGradleのバージョンが固定されるため、全員が同じ条件でビルドできます。

カスタムタスクの定義

独自のタスクを登録できます。このGroovy DSLのタスクは、./gradlew helloで実行するとメッセージを出力します。

tasks.register('hello') {
    doLast {
        println 'Hello from Gradle!'
    }
}

インクリメンタルビルドとキャッシュ

Gradleは各タスクの入力と出力を追跡します。何も変更されていなければ、タスクはUP-TO-DATEとマークされてスキップされます。さらにビルドキャッシュを使うと、マシン間で出力を再利用できるため、繰り返しのビルドが非常に高速になります。

Application Plugin

applicationプラグインは、実行可能なアプリ向けにrunタスクとパッケージング機能を追加します。メインクラスを指定すると、./gradlew runでプログラムを起動できます。

application {
    mainClass = 'com.example.App'
}

クイックチェック

Gradleの基本についての理解度を確認しましょう。

まとめ

Gradleの基本を学びました。

  • ビルドは、プログラム可能なbuild.gradle(.kts)スクリプトで設定します。
  • プラグインによって機能を追加します。javaとapplicationが一般的です。
  • 依存関係には、implementation、api、testImplementationなどの構成を使用します。
  • 処理はタスクのグラフとしてモデル化され、./gradlewで実行します。
  • インクリメンタルビルドとビルドキャッシュによって、変更されていない処理をスキップします。

よくある質問

「Gradle の基礎」レッスンは無料ですか?

はい。「Gradle の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。

「Gradle の基礎」で何を学びますか?

build.gradle とタスクです。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「Gradle の基礎」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Maven プロジェクト構成
  2. Maven プラグインとゴール
  3. Gradle の基礎
  4. ビルドツールの選択
← Java Academyに戻る