Gradleプロジェクトの作成(javaビルドツール)

目次

1.Gradleとは
 Gradleはプロジェクト管理ツール(ビルドツール)で、プロジェクトの作成、ライブラリの管理、プログラムのビルド、テスト、実行、デプロイなど一連の開発に必要な作業ができます。
 GradleではGroovyというスクリプト言語でスクリプトを記述して管理します。

2.Groovyの準備
 Gradleを利用するためにGroovyを用意します。
(1)Groovyのダウンロード
 https://www.groovy-lang.org/

「apache-groovy-sdk-3.0.9.zip」を「全て展開」し、
「groovy-3.0.9」のフォルダを任意の場所に配置。
 C:\Users***\Documents\groovy-3.0.9

3.Gradleの準備
(1)Gradleのダウンロード
 http://gradle.org/

「gradle-7.3.1-all.zip」を「全て展開」し、
「gradle-7.3.1」のフォルダを任意の場所に配置。
 C:\Users***\Documents\gradle-7.3.1

(2)環境変数の追加
 コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数

 Path>編集>新規ボタンでbinフォルダがあるディレクトリを設定します。
 ここでは、
 C:\Users*\Documents\groovy-3.0.9\bin
 C:\Users*\Documents\gradle-7.3.1\bin
を設定します。
 バージョンの確認
 > gradle -version

4.build.gradleの作成
 プロジェクトのフォルダ(ここでは「gradleapp」)を作成し、その中に「build.gradle」というファイルを作成し下記のスクリプトを記述します。
 ここでは、プロジェクトフォルダは
 C:\Users***\Documents\gradleapp
とします。
 ファイルの作成は、
 >type nul > build.gradle

 「build.gradle」

 task タスクの名前{
 ・・・実行する処理・・・
 }
 コマンドプロンプトでプロジェクトフォルダのディレクトリに移動し、下記のコマンドでタスクを実行します。
 > gradle helo

5.アプリケーションのビルド
 前記では、「build.gradle」ファイルで、”task”で定義した名前のタスクをコマンドで実行できることが確認できました。ここでは、アプリケーションのビルドを確認します。 
(1)クラスファイルの作成
 プロジェクトフォルダの配下にsrc/main/java/gradleappのフォルダを作成し、クラスファイル「MyApp.java」を作成します。

「MyApp.java」

(2)build.gradleの作成
 「build.gradle」

・プラグインの追加
 プラグインはGradleに機能を追加するときに記述します。
 apply plugin:プラグイン名
 プラグイン「application」はJavaアプリケーションのビルドの機能です。
・メインクラスの指定 
 「application」プラグインが必要とする設定で、”mainClassName”は、main()メソッドがあるクラスを示す変数、 
 mainClassName = ‘(パッケージ名).(クラス名)’
 で定義します。
・runタスクの作成
 「build.gradle」に記述することで、アプリケーションのビルドから実行まで行えるようになります。

(3)ビルドの実行
 > gradle build

(4)プログラムの実行
 > gradle run

6.プロジェクトの作成(gradle)
 initタスクを実行することで対話形式でgradleプロジェクトのフォルダを作成できます。
(1)プロジェクトの作成(init)
 > gradle init

 プロジェクトのワークフォルダ配下に下記のディレクトリが作成されます。

また、下記のファイルが作成されます。

「build.gradle」
 ビルドの定義はbuild.gradleファイルに記述します。

「settings.gradle」

./app/src/main/java/gradleapp2/App.java

./app/src/test/java/gradleapp2/AppTest.java

(2)タスク一覧の表示(tasks)
 >gradle tasks
 gradleで実行できるタスクの一覧を表示します。

(3)テストの実行
 > gradle test

(4)JARファイルの作成
 > gradle jar

(5)クラスファイルの実行
 クラスパスにJARファイルのパスを指定してjavaコマンドで実行します。
 カレントディレクトリがプロジェクトフォルダ
 C:\Users***\Documents\gradleapp2
のとき、下記のコマンドでJavaアプリケーションが実行できます。
 > java -jar app/build/libs/app.jar

(6)アプリケーションの実行(gradle run)

7.Webアプリケーションの作成(Eclipse)
 jetty(Java Servletコンテナ/Webサーバ)を使ってWebアプリケーションを作成しようとしたところ、gradle-7.3.1ではjetty pluginが使えないようだったため、Eclipseでgradleプロジェクトを作成します。

(1)プロジェクトの作成
①ファイル>新規>その他

 ここではプロジェクト名:gradleapp3
とします。

②プロジェクトフォルダを選択してマウス右ボタン>プロパティ>プロジェクト・ファセット>「ファセット・フォームへ変換」

 「動的Webモジュール」にチェックし、「より詳しい構成が使用可能」を選択

 コンテンツ・ディレクトリーをsrc/main/webapp
とし、「web.xmlデプロイメント記述子の生成」をチェックします。

 デプロイメント・ディスクリプタ(web.xml)が作成されます。JSP&サーブレットの設定ファイルで、Webアプリケーションの配置情報をXMLで定義します。

「web.xml」

(2)index.htmlの作成
「index.html」

(3)Webアプリケーションの実行
①プロジェクトフォルダを選択してマウス右ボタン>プロパティ>プロジェクト・ファセットで、javaのバージョンを設定します。

②プロジェクトフォルダを選択してマウス右ボタン>実行>サーバで実行を選択し、Tomcat v8.0を選択して「完了」押すと、サーバが起動します。

ブラウザでサーバにアクセス

(4)サーブレットクラスの作成
 上記(2)、(3)では、index.htmlの静的なページの表示でした。ここでは、サーブレットクラスを追加し、サーブレットクラスのレスポンスが表示されることを確認します。
①サーブレットクラスの作成
 src/main/java/gradleapp3配下にサーブレットクラス「HelloMsg.java」を作成します。

 ”「servlet-api.jar」というTomcatライブラリにパスが通っていない。”旨のエラーが表示されるときは、下記のようにビルド・パスを通す必要があります。
 プロジェクトを選択してマウス右ボタン>ビルド・パス>ビルド・パスの構成>「外部JARの追加」
「servlet-api.jar」を選択して「開く」押す。

import javax.servlet・・・のエラーが消えます

「HelloMsg.java」

②サーバを起動
 サーブレットクラスのdoGetメソッドのHTMLレスポンスが表示されます。

ブラウザからアクセス

(参考文献)
・「EclipseではじめるJavaフレームワーク入門 第5版」
 著者:掌田津耶乃 発行:株式会社秀和システム

The end