“`html

Gradle 9系のバージョン一覧と最新安定版の確認方法

2026年8月時点の最新安定版は9.6.1

Gradle 9系の現行最新安定版はGradle 9.6.1です。2026年6月26日にリリースされた9.6.0のパッチリリースで、公式も9.6.1へのアップグレードを推奨しています。9.6.1ではConfiguration Cacheのヒット率向上、CLI出力オプションの追加、プロジェクト階層ルックアップの非推奨化などが行われました(出典:Gradle「Gradle 9.6.1 Release Notes」)。

Gradle 9系は2025年7月の9.0.0から始まり、約1〜2か月間隔でマイナーバージョンがリリースされています。9.0.0では実行環境の最低JVMがJava 17に引き上げられ、Configuration Cacheが推奨モードになりました。

Gradle 9系の主なリリース履歴

記事執筆時にリリース済みのGradle 9系バージョンは以下の通りです。各リリースの特徴を確認して、自分のプロジェクトに必要なバージョンを判断しましょう。

バージョン リリース日 主な特徴
9.0.0 2025/7/31 最低JVMをJava 17に引き上げ、Kotlin 2.2 / Groovy 4.0を組み込み
9.1.0 2025/9/15 Java 25サポート追加
9.4.0 2026/3/2 Java 26サポート追加
9.6.0 2026/6/18 Configuration Cacheの改善
9.6.1 2026/6/26 9.6.0のパッチリリース(現行最新安定版)

記事公開時点で最新版が変わっていないか、公式のリリースページで確認することをおすすめします。

最新バージョンの確認方法とアップグレード手順

最新安定版を確認するには、Gradle公式サイトのリリースページにアクセスするのが確実です。また、インストール済みのGradleがある場合は、以下のコマンドで現在のバージョンを確認できます。

gradle -v

既存プロジェクトを9.6.1にアップグレードする場合は、Gradle Wrapperのバージョンを更新します。公式推奨のコマンドは以下の通りです(出典:Gradle「Gradle 9.6.1 Release Notes」)。

./gradlew :wrapper --gradle-version=9.6.1 && ./gradlew :

要点:2026年8月時点の最新安定版はGradle 9.6.1。9系は2025年7月の9.0.0から始まり、9.4.0でJava 26対応が追加されました。最新版の確認は公式リリースページで行いましょう。

GradleとJavaの互換性:実行環境とビルド対象を整理

Gradleを実行するにはJDK 17以上が必要

現在のGradle 9系を実行するにはJDK 17以上が必要です。古い記事にある「JDK 8でGradleを実行できる」という説明は、現行のGradle 9系には適用できません(出典:Gradle「Installing Gradle」)。

Gradle 9.0.0で実行環境の最低JVMがJava 17に引き上げられました。Gradleを動かす環境のJavaバージョンは、プロジェクトが対象とするJavaバージョンと別に考える必要があります。

GradleバージョンとJavaバージョンの互換性表

「Gradleを実行するJavaのバージョン」と「Gradleのバージョン」の互換性は以下の通りです。Javaのバージョンが新しいほど、それを実行環境として使うには新しいGradleが必要になります(出典:Gradle「Compatibility Matrix」)。

Gradleを実行するJava 必要なGradleの最小バージョン
Java 17 Gradle 7.3
Java 21 Gradle 8.5
Java 25 Gradle 9.1.0
Java 26 Gradle 9.4.0

たとえばJava 26でGradleを実行したい場合は、Gradle 9.4.0以降であれば良く、必ずしも最新の9.6.1である必要はありません。

実行環境とビルド対象は分離できる(Java Toolchains)

GradleではJava Toolchainsという仕組みにより、Gradle自体を実行するJDKと、プロジェクトのコンパイルやテストに使うJava環境を分離できます。例えばJDK 26でGradleを実行しつつ、Java 17向けの成果物を生成する設定が可能です(出典:Gradle「Java Toolchains」)。

Kotlin DSLでは以下のように記述します。

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

ローカルに指定したJavaが無い場合、Gradleが自動でJDKをダウンロードする場合もあります。「実行環境のJava」と「ビルド対象のJava」を混同しないようにしましょう。

要点:Gradle 9系の実行にはJDK 17以上が必要です。Java 21ならGradle 8.5以上、Java 26なら9.4.0以上が対応します。実行環境とビルド対象のJavaバージョンはJava Toolchainsで分離できます。

Gradle Wrapperとは?基本のセットアップと使い方

Gradle Wrapperの役割とメリット

Gradle Wrapperとは、プロジェクトが使用するGradleバージョンを固定し、必要なバージョンのGradleを自動で取得・実行する仕組みです。Gradle公式は、システムにインストールしたGradleを使うよりもWrapperの利用を推奨しています(出典:Gradle「Wrapper Basics」)。

Wrapperを使うと、開発者全員が同じGradleバージョンでビルドでき、CI環境でも同じ条件で実行できます。また、Gradleを事前にインストールしていない環境でも、Wrapperが指定バージョンを自動取得するため、「Gradleをインストールしないと実行できない」わけではありません。

Wrapperのファイル構成とセットアップ

Gradle Wrapperは以下のファイルで構成されます。`gradle-wrapper.properties`に使用するGradleバージョンが記載されており、この値を変更することでバージョンを切り替えられます。

  • gradlew:Linux/macOS用の実行スクリプト
  • gradlew.bat:Windows用の実行スクリプト
  • gradle/wrapper/gradle-wrapper.properties:バージョン設定ファイル
  • gradle/wrapper/gradle-wrapper.jar:Wrapperの実行に必要なJAR

新規プロジェクトでWrapperを生成するには、以下のコマンドを実行します。`gradle init`でプロジェクトを作成した場合は自動でWrapperが設定されます。

gradle wrapper --gradle-version 9.6.1 --distribution-type bin

Wrapperの基本的な使い方と更新方法

Wrapperを使ったビルドは、`gradle`コマンドの代わりに`./gradlew`(Windowsでは`gradlew.bat`)を使います。基本的な構文は以下の通りです。

./gradlew build

既存プロジェクトのWrapperバージョンを更新するには、以下のコマンドを実行します。これにより`gradle-wrapper.properties`が更新され、次回実行時に新しいバージョンが自動取得されます。

./gradlew wrapper --gradle-version=9.6.1

既存プロジェクトでビルドする際は、まず`gradlew`または`gradlew.bat`の有無と、`gradle-wrapper.properties`に記載されたGradleバージョンを確認しましょう。

要点:Gradle WrapperはプロジェクトごとにGradleバージョンを固定する公式推奨の仕組みです。`./gradlew`コマンドで実行し、`wrapper –gradle-version`で更新します。Gradle本体のインストールは不要です。

Gradle buildコマンドを中心とした主要タスクと実行オプション

buildタスクの役割と実行内容

`./gradlew build`は、Javaプロジェクトで最もよく使われるコマンドです。コンパイル、テスト実行、JARなどのパッケージングをまとめて実行します。内部的には`compileJava`、`test`、`jar`などのタスクに依存しており、これらが順番に処理されます。

成果物は`build/libs/`に出力され、テストレポートは`build/reports/tests/`に生成されます。フルビルドをやり直したい場合は`./gradlew clean build`を実行すると、`build/`ディレクトリを削除してから再ビルドします。

ビルドで使える主要タスク一覧

`build`以外にも、用途に応じて使い分けられる主要タスクがあります。以下の表にまとめました。

コマンド 実行内容
./gradlew test 単体テストのみ実行
./gradlew jar JARファイルを作成
./gradlew assemble テストなしでパッケージングのみ実行
./gradlew check テストや検証タスクのみ実行(CI向け)
./gradlew run アプリケーションを実行(applicationプラグイン適用時)
./gradlew clean ビルド成果物を削除
./gradlew tasks 利用可能なタスク一覧を表示
./gradlew dependencies 依存関係ツリーを表示

タスクの詳細を確認したい場合は./gradlew help --task タスク名を実行します。利用可能な全タスクは./gradlew tasks --allで表示できます。

実行オプションでビルドを制御する

Gradleのコマンドには、ビルドの挙動を制御するさまざまなオプションがあります。特によく使うものを以下に紹介します。

  • -x タスク名:特定のタスクを除外(例:build -x testでテストスキップ)
  • --parallel:独立タスクを並列実行して高速化
  • --offline:キャッシュ済み依存関係のみ使用し、ネットワーク接続しない
  • --refresh-dependencies:依存関係をリモートリポジトリから再取得
  • --rerun-tasks:UP-TO-DATE判定を無視してタスクを強制再実行
  • --continue:失敗後も残りのタスクを継続実行
  • -q / --quiet:出力を最小限に抑制
  • --stacktrace:エラー時にスタックトレースを表示

テストをスキップしてビルドだけ実行したい場合は、./gradlew build -x testとします。CI環境では--continue--console=plainを使うと、複数エラーの検出やログの可読性向上に役立ちます。

要点:`./gradlew build`はコンパイル・テスト・パッケージングを一括実行する基本コマンドです。目的に応じて`test`や`assemble`を使い分け、`-x`や`–parallel`などのオプションでビルドを制御できます。

Gradle buildで発生しがちなエラーと対処法(テストスキップ、文字化けなど)

テスト実行時のエラーとスキップ方法

ビルド中にテストが失敗すると、`./gradlew build`は途中で停止します。原因を調査する時間がない場合や、パッケージングだけを先に確認したい場合は、テストをスキップしてビルドを実行できます。

./gradlew build -x test

また、テスト実行を一時的に無効化したい場合は、`build.gradle.kts`に以下の設定を追加します。ただし、この設定は本番環境に残さないよう注意が必要です。

tasks.test {
    enabled = false
}

テストの失敗原因を確認するには、`build/reports/tests/`に生成されるHTMLレポートを参照すると、失敗したテストの詳細を確認できます。

文字化けの原因と対処法

Gradleのビルド中に文字化けが発生する場合、主な原因は文字コードの不一致です。特にWindows環境では、コンソールのデフォルト文字コード(Shift_JISなど)とソースファイルの文字コード(UTF-8)が異なることで発生しやすくなります。

対処法として、`build.gradle.kts`に以下の設定を追加して、コンパイル時の文字コードを明示します。

tasks.withType<JavaCompile> {
    options.encoding = "UTF-8"
}

tasks.withType<Test> {
    systemProperty("file.encoding", "UTF-8")
}

また、コンソール出力の文字化けには、Gradleのコンソール出力をプレーンモードにする--console=plainオプションも有効な場合があります。

ビルド失敗時の調査に役立つオプション

ビルドが失敗した原因を特定するには、詳細なログ出力が有効です。Gradleには以下のようなデバッグ用オプションが用意されています。

  • --stacktrace:エラー発生箇所のスタックトレースを表示
  • --infoまたは--debug:詳細な実行ログを出力
  • --dry-run:タスクを実行せず、実行されるタスクと順序のみ確認
  • --continue:失敗後も残りのタスクを継続し、複数エラーをまとめて確認

依存関係の解決エラーが疑われる場合は、./gradlew dependenciesで依存関係ツリーを確認し、バージョン競合や取得失敗がないかを調べます。リモートリポジトリから依存関係を再取得するには--refresh-dependenciesを併用します。

要点:テスト失敗時は`-x test`でスキップし、文字化けは`options.encoding = “UTF-8″`で対処します。エラー調査には`–stacktrace`や`–info`、`–dry-run`を活用しましょう。

“`