Gradle は、主に Java や Groovy, Kotlin, Scala などの言語でよく使われるビルドツール1である。 必要なライブラリーファイル(JAR ファイル)のダウンロードや、 コンパイル、テスト、サーバーへの配置などを自動的に行ってくれる。 また、プラグインで容易に拡張することができる。 ここでは、Gradle で Java アプリケーションを開発する方法を紹介する。 Web アプリケーションの場合の作り方はこちらのページで説明する。
1ビルドツールとは
ソースファイルなどから最終生成目的物を生成するためのツールである。
ソースの依存関係に応じて、必要なコンパイルコマンドなどを呼び出す。
有名なものに Make, Ant, Maven, Gradle などがある。
gradle init
Gradle のビルドの設定は Groovy もしくは Kotlin で記述する。 ここでは Kotlin 版を使用する。
適当なディレクトリー(以下では MyJavaApp
という名前だとして説明する)を作成し、
次のコマンドを実行する。
gradle init --type java-application --test-framework junit --dsl kotlin
いくつかの質問を聞かれるが、いずれもデフォルトのままでよい。
すると MyJavaApp
以下に、次のようなファイルとディレクトリーが自動的に作られているはずである。
. ├── .gradle ├── app │ ├── build.gradle.kts │ └── src │ ├── main │ │ ├── java │ │ │ └── … │ │ └── resources │ │ └── … │ └── test │ └── … │ ├── gradle │ └── … ├── .gitattributes ├── .gitignore ├── gradlew ├── gradlew.bat └── settings.gradle.kts
自動的につくられる app
ディレクトリーの下の build.gradle.kts
を次のように書き換えておく。
少なくとも、利用するライブラリーの指定(implementation(〜)
)と
main
メソッドが定義されているクラスの指定(mainClass.set(〜)
)は変更する必要があるはずである。
今回の例では jsoup というライブラリーを使用するので、imlementation("org.jsoup:jsoup:〜")
となる。
ここに何と書くかは、使用するライブラリーのドキュメントを調べる必要がある。クラスの指定(mainClass.set(〜)
)は、
もちろん自分が用意する main
メソッドを提供するクラスの名前にあわせる。
ファイル app/build.gradle.kts
Gradle では(Maven もだが)ディレクトリーの配置に独特の慣習があり、
Java のソースファイルは app
の src/main/java/
の下(のパッケージに応じたディレクトリー)に
配置する。ここでは、以下のような jsoup(HTML Parser ライブラリー)を利用したプログラムを試してみる。
ファイル app/src/main/java/JsoupSample.java
MyJavaApp
で
gradle run
というコマンドを実行すると、(最初は JAR ファイルのダウンロードなども行うのでひじょうに時間がかかるかもしれないが)
Java プログラムのコンパイルと実行が続けて起こり、実行結果を見ることができる。この例では
https://stwww.eng.kagawa-u.ac.jp/Cur/
という Web ページ中で使われている HTML の a
タグの情報が表示されるはずである。
なお
Windows で Gradle のエラーメッセージが文字化けする場合は、以下のコマンドを gradle
コマンドを実行する前に実行しておく。
chcp 65001