Java向けのビルドツールとしては比較的新しい「Gradle」。 Show
Mavenは知っているけどGradleは知らない、という方も多いことでしょう。 本記事では、Gradleの特徴や他のビルドツールとの違いを詳しく解説していきます。 1.Gradleとは?Gradleは、主にJava向けに開発されたビルドツールです。 Javaと同様に、JVM上で動作するKotlinやScalaはもちろんのこと、PythonやC++にも対応しています。 2.ビルドツールについておさらい
ビルドツールとは、プログラムのビルドや実行を自動化するツールです。
・Javaファイルのコンパイル ・自動テスト など、さまざまな手順を一括で実行してくれます。 ビルドからテストまでを一括で実施してくれるということは、人の手による作業を減らす役割を担っています。 そのため、複数人で開発をするような現場であれば、このようなビルドツールは必須の存在といえるでしょう。 3.Gradleの特徴
① GroovyによるスクリプトGradleの大きな特徴が、JVMで動作するスクリプト言語である「Groovy」を用いて記述する点です。
一方で、Gradleは設定ファイルではなく”スクリプト言語”を用いてビルド手順を記述します。
② Mavenとの互換性GradleはMavenと高い互換性を持っており、Mavenのリポジトリを利用することも可能です。
③ プラグインによる拡張実は、Gradle自身の機能は少なく、必要な機能は開発者がスクリプトを記述する必要があります。
④ Android開発の標準ビルドツールモバイル向けOSであるAndroidのアプリを作る場合には、「Android Studio」を利用して開発をすることになります。
そのため、Androidアプリ開発者であれば必然的にGradleの習得が必要になるのです。 4.Gradleのインストールと設定
①動作環境Gradleをインストールする前に、Javaがインストールされていることを確認しましょう。 ②Windowsでのインストール方法はじめに、Windowsでのインストール方法からご紹介します。 ダウンロードJavaがインストールされていること確認できたら、Gradleをダウンロードしましょう。 Gradleをダウンロードするには、https://gradle.org/releases/ へアクセスします。
すると、zipファイルがダウンロードされます。 インストールダウンロードしたzipを、Cドライブの直下に解凍します。 パスを通す最後に、コマンドからGradleを実行させるためにパスを通しましょう。 システムのパスを変更するため、「システム環境変数の編集」を開きます。
システムのプロパティが表示されるので、「環境変数」をクリックします。 環境変数のダイアログが表示されますので、「システム環境変数」の「Path」をダブルクリック。このとき、ユーザー環境変数ではない点に注意しましょう。 以下のように、パスの一覧にGradleのパスを指定します。このとき、パスの最後に「\bin」を追加することに気を付けてください。 パスの設定が終了したら、PowerShellを起動して以下のコマンドを実行してみましょう。 正常にインストールが完了していれば、以下のように表示されます。
③Macでのインストール方法Macを利用しているのであれば、Homebrewを利用することで簡単にインストールできます。 5.Gradleの使い方
①gradleコマンドGradleをPowerShellなどのシェルから実行する場合、「gradle」コマンドを利用します。 たとえば、さきほどの「gradle -v」は、gradleのバージョン情報を表示するためのコマンドです。 ②initコマンドGradleを用いたプロジェクトを作成する場合、「init」コマンドを利用します。 すると、対話形式でプロジェクトの作成が進んでいきます。 プロジェクト種別まずは、作成するプロジェクトの種別を選択します。今回はアプリを開発するので「2」を選択しましょう。
言語の選択次に、使用するプログラミング言語を選択します。
マルチプロジェクトの設定マルチプロジェクトの設定を行いましょう。 今回は単純なアプリを作成したいので「no」を入力します。
スクリプト言語の選択スクリプト言語を選択します。
最新の記述を利用するか最新のコードを利用するか聞かれますが、今回は安定版である記述をするため「no」を選択しましょう。
単体テスト利用する単体テストの種類を選択します。
プロジェクト名作成するアプリの名前を入力します。
ソースパッケージJavaのソースコードを格納するパッケージを指定します。
プロジェクト作成完了以下のように表示されれば、プロジェクトの作成は完了です。
③tasksコマンドgradleで実行できるタスクを確認するために「tasks」コマンドを実行しましょう。
このタスクに指定したものを実行することで、対応したタスクを実行できます。 たとえば、プロジェクトをビルドする場合には「build」を利用するため、以下のようなコマンドを実行します。 ⑤build.gradleGradleのビルドスクリプトを記述するのが「build.gradle」です。
非常にシンプルであることがわかります。
⑥Gradle Wrapperプロジェクトの作成が完了すると、以下のようなファイルが生成されています。
これらはGradleを起動するためのスクリプトです。
この記述は、以下のコマンドと同じ動作をします。 このGradle Wrapperは、Gradleの自動インストールと実行をしてくれるスクリプトです。 Gradleがインストールされていない環境でビルドを実行する場合には、「gradle」ではなく「gradlew」を実行することで、Gradleを利用できるようになります。 6.Gradleを使うメリットGradleの基本的な使い方・コマンドを理解したところで、Gradleを利用するメリットを紹介します。 ① Groovyにより柔軟なビルド設定が可能Gradleは、設定ファイルではなくビルドスクリプトを作成することでビルドを実行することになります。
② Gradle Wrapperによる自動インストールGradleの機能紹介ですこし解説しましたが、Gradleにはプロジェクトのビルド時にGradleを自動でインストールする「Gradle Wrapper」という機能を有しています。
③ Mavenの資産が利用可能GradleでもMavenでも、最終的に生成されるものはjarファイルであるため、Mavenで作ったライブラリをGradleで読み込んだり、GradleからMaven向けにライブラリをビルドしたりすることも可能です。
7.Gradleを使うデメリット
① 学習に時間がかかるGradleは細かいカスタマイズができる反面、習得時に時間がかかるというデメリットを持ちます。
② 記述方法が変わることがある2022年現在でも、Gradleは新しいバージョンがリリースされ続けており、
また、Gradleの記載にはGroovyではなくKotlinも利用可能となったこともあり、初学者が調べながら習得するにはハードルが高いといえるでしょう。 Mavenはどうなのか?ちなみに、Mavenも定期的にバージョンアップはされてはいますが、最新のメジャーバージョンである「Maven3」は2010年にリリースされています。
③ Mavenに対する優位性が低い非常に高機能なGradleですが、多くの場合にはその機能を使いこなせず役不足となってしまうことも。
事実、既存のプロジェクトの多くは今でもMavenが採用されているので、Java開発者を目指すのであれば、MavenとGradleの両方の書き方をしっかりと把握しておくことが大事です。 8.Apache Ant・Apache Mavenとの比較
①Apache Antの特徴Apache Antは、Javaのビルドを自動化するために登場したソフトウェアで、Javaのプロジェクトのビルド、およびテストに特化したツールです。
②Apache Mavenの特徴Apache Mavenは、Apache Antのデメリットを克服すべく開発されたソフトウェアで、2004年に登場しました。
また、AntにはないMavenの大きな特徴が「依存性の解決」です。
③3つのソフトウェアを比較紹介した3つのソフトウェアを比較すると、以下のようになります。
MavenとGradleでは、機能面において大きな違いはありません。
Javaエンジニアとして活躍するためには、GradleとMavenの違いをしっかりと押さえて、どちらも使えるようになっておくと良いでしょう。 9.プログラミング学習ならトレノキャンプへトレノキャンプではプログラミングを実践的に学ぶためのコースを、オンラインで提供しています。オンデマンド配信なので、いつでも好きなときに受講が可能です。講座の詳しい内容は下記のバナーをクリックしてご覧ください。 |