Gradle を使った Java のビルド環境構築
これを書く背景
学習のためにシンプルな Java 開発環境が欲しくなったが、ビルドツールってどうやって使えるようにするんだっけ?と躓いてしまった。
Java で何か作ろうとするとき、普段は Spring Initializer を使ってプロジェクトの初期化をしているので、ビルドツールを手動でインストールして~ということをしてこなかったからかもしれません。
今さらこんなことで躓くなんて、正直恥ずかしい気持ちになったが、ログに残す良い機会とも思い、ここにその方法を残しておきます。
環境
WSL2
仕事は Mac だが家の PC は Windows。妻も使うことがあるので(こういう人って結構いるのかな?)。
手順
1. SDKMAN のインストール
Gradle 公式サイトの Gradle インストール方法に SDKMAN を使用した方法が記載されているので、これに従い、まず SDKMAN をインストールします。
SDKMAN 公式のインストール方法は こちら 。
ただし、上記ページ内にも記載されていますが zip と unzip が必要なので、もしインストールしてなければ以下を実行します。
sudo apt install zip unzip
2. Gradle のインストール
Gradle 公式サイトに従ってコマンドを実行します。
3. Gradle プロジェクトの作成
プロジェクトのルートにしたいディレクトリに移動して以下コマンドを実行します。
gradle init
これの詳細は公式サイトが詳しいですが、とりあえず上記のコマンドだけで実行。そのあとインタラクティブに type を指定することができます。どれを選択したかによる結果の違いは以下のサイトが詳しいです。
終わりに
これで完了です。まとめてみるとシンプルですが、いちいち確認しながらだと時間がかかりました。
念のため JUnit5 を build.gradle
に追加してみました。
dependencies {
// Use JUnit test framework.
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.3'
}
こんなテストクラスを作成。
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class MoneyTest {
@Test
public void testMultiplication() {
Dollar five = new Dollar(5);
five.times(2);
assertEquals(10, five.amount);
}
}
大丈夫そう!
ちなみに
Spring Initializer で Gradle を選択した場合はなぜこのような手順が不要なのか ChatGPT に簡潔に説明してもらった。
Spring InitializrでGradleを選択すると、プロジェクトにGradle Wrapperが自動的に追加されるため、ローカルでGradleをインストールする必要がありません。Gradle Wrapperは初回実行時に必要なGradleバージョンを自動でダウンロードして使用します。
なるほどー。
Gradle Wrapper の公式サイトには以下が書かれています。
Gradleビルドを実行する際の推奨方法は、Gradle Wrapper(以下「Wrapper」)を使用することです。
Wrapperは、指定されたバージョンのGradleを呼び出すスクリプトで、必要に応じて事前にダウンロードします。その結果、開発者は迅速にGradleプロジェクトを開始できます。
勉強になりました。
Discussion