VSCodeでGradleを使い、Javaをビルド→ランするまで

Posted by

概要

本記事は、タイトルの通り「VSCodeでGradleを使い、Javaをビルド→ランするまで」の手順を簡潔にまとめます。
※Macを使用する前提ですのでご了承ください。

Gradleとは
https://ja.wikipedia.org/wiki/Gradle
GradleはApache AntやApache Mavenのコンセプトに基づくオープンソースビルド自動化システムであり、プロジェクト設定の宣言にはApache Mavenが利用するXML形式ではなくGroovyベースのドメイン固有言語 (DSL) を採用している。Gradleはタスクの起動順序の決定に有向非巡回グラフ(英: Directed Acyclic Graph、DAG)を利用する。
Gradleは非常に大きくなる可能性のあるマルチプロジェクトのビルド用に設計されており、ビルドツリーのどの部分が最新であるかをインテリジェントに決定する増分ビルドをサポートする。このため、最新の増分ビルド部分に依存するタスクを再実行する必要は一切ない。
初期のプラグインはJava、Groovy、およびScalaの開発と配備に第一に焦点を当てられているが、ロードマップにはその他の言語やプロジェクトに対するワークフローが示されている。

手順

1.VSCodeをインストール

下記からVSCodeの本体をインストールします
https://code.visualstudio.com/

2.Javaのプラグインをインストール

Preference->Extensionsで「Java Extension Pack」を検索してインストールします
これをインストールすると、下記のプラグインが全て入ります
・Language Support for Java(TM) by Red Hat
・Debugger for Java
・Java Test Runner
・Maven for Java
・Java Dependency Viewer
・Visual Studio IntelliCode

3.端末のJavaの準備

Javaをインストールして$JAVA_HOMEを環境変数に設定します
https://www.java.com/ja/download/help/download_options.xml
~/.bash_profileのファイルに使用するJavaのバージョンに応じて下記のいずれかを追記します

export JAVA_HOME=`/usr/libexec/java_home -v 10` #java10が使いたいとき
export JAVA_HOME=`/usr/libexec/java_home -v 9` #java9が使いたいとき
export JAVA_HOME=`/usr/libexec/java_home -v 1.8` #java8が使いたいとき

4.Gradleのインストール

下記のコマンドでインストールします

brew install gradle

5.プロジェクトの作成

Gradleのプロジェクト用のフォルダを作成します

mkdir project-name-dir
cd project-name-dir
gradle init --type java-application

6.Gradleの動作確認

初期作成でスケルトンが用意されているので、下記を実行して動作確認をします

gradle build # ビルド
gradle run # 実行
gradle check # 検証
gradle clean # クリーン

7.VSCodeの設定

JAVA_HOMEをVSCodeの設定にも追加します
Preference->Settings
で「javahome」と検索して、設定ファイル開き下記のように追加します

"java.home": "<2.で環境変数に追加したいずれかのパス>"

8.タスクの設定

VSCodeで実行する際のタスクを設定します
設定は.vscode/task.jsonのファイルに下記を追記します

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "./gradlew build"
        },
        {
            "label": "run",
            "type": "shell",
            "command": "./gradlew run",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "clean",
            "type": "shell",
            "command": "./gradlew clean"
        },
        {
            "label": "check",
            "type": "shell",
            "command": "./gradlew check"
        }
    ]
}

9.タスクを実行

タスクを実行します
Terminal->Run Taskで定義したタスクを実行できます

まとめ

本当はJavaのアプリを作って記事を書く予定でしたが、まだ実装中なので今回初めてVSCodeでGradleを使ってみたので、その過程を整理してみましたが比較的容易に導入することができました。
またVSCodeの特徴ではありますが、軽量に動作するので非常に快適です。