Gradleインストールして、プロジェクト作成しよう。

うちの会社の後輩がVert.X の勉強を始めており、
色々サポートしてあげているんだけど、
ライブラリが インポート出来なくてコンパイルエラーになるんですよ〜と困っていた。

クラスパスを通してあげれば大丈夫だよと助言したが、
そもそもクラスパスを指定するという事さえも知らなかったようでした。

最終的には解決できたようで良かったですが。

既存のプロジェクトに加わってきた新人くんは、
自分でJavaのプロジェクトを作るという機会も少ないのかな?
頑張れよと励ましておきました。

という事で、Gradleを使えば簡単にプロジェクト作成できるし、
クラスパスもすでに通った状態で始められるので、Javaのプロジェクト作る際には是非ともGradleを使っていってほしい。

サクッとインストールして使う事ができるので、
インストールして、プロジェクト作成するところまでを簡単に紹介します。

Gradleとは

まずGradleとは、Ant / Maven などに代わる、新しいビルドシステムです。

groovy で記述する build.gradle というファイルに
依存するライブラリや、
ビルド以外にも実行する雑多な作業を記述する事ができます。

記述のしかたは、設定ファイルっぽくみえますが、
実はビルドスクリプトになっていて、groovyで書くスクリプトそのものになっています。

Build Happiness

Gradleの目指すべきモットーとして、Build Happiness という言葉があります。

gradlephant というゾウさんが混沌としたビルド作業をフゴフゴと処理してくれている。
頑張って我々技術者をビルド地獄から救い出してくれるゾウさん。

小鳥は、地獄から救われた幸せの形(Happiness)を象徴している。

これを会社の人に話したら、感動したと言っていた。笑

gradle initしてプロジェクトを作ると、gradlew (グレードルラッパー)というのが生成される。
gradlewがあれば。gradleがインストールされていない環境下でも動作する。

そのため、最初にプロジェクトを作成する人だけ、gradleをインストールして、ラッパーを作成さえすれば、他のユーザーは各自gradleをインストールする必要がない。

しかも、build.gradleに記述したライブラリ群も
勝手にダウンロードしてくれる。

sdkmanとは

もともとはgvmというパッケージマネージャーだったが、名称変更でsdkmanとなった。

インストールするとsdkコマンドというのが使えるようになる。

groovyエコシステムのインストールと、
バージョン切り替えまでやってくれる。

最新のgroovyや、gradleがリリースされても
このパッケージマネージャーを使えばすぐにインストールできる。

groovyエコシステム

  • Grails
  • Gradle
  • Spock
  • GPars
  • Ratpack
  • Griffon
  • Geb

などなどが簡単にインストールできるぞ。

インストール手順

# sdkman のインストール (sdkコマンドが使えるようになる )
curl -s "https://get.sdkman.io" | bash

# gradle のインストール (gradleコマンドが使えるようになる)
sdk install gradle

gradleでプロジェクトを作る。

プロジェクトを作る際は、適当にプロジェクトルートとなる、ディレクトリを作成してcdする。

# プロジェクトルートを作成する
mkdir hello
cd hello

# gradle init で gradlew, build.gradleが生成される。
# 以降は、gradlewを使えば、インストールさせれていない環境下でも動作する。
gradle init

# build.gradleの編集
vim build.gradle 

# IDEA用のインポートファイル生成
./gradlew idea

build.gradleには、最低限こんな感じのものを書いておけば良い。

build.gradle

apply plugin: 'java'
apply plugin: 'idea'

repositories {
    mavenCentral()
}

dependencies {
    // TODO: ここに依存するライブラリ
}

おしまい

gradleには、色々と便利なプラグインがあるので活用してほしいが、
プラグインによってどういった記述をしたら良いのかがちょっとわかりにくいかもしれぬ…。

細かい部分に関しては、
タスクの追加ができるので、プロジェクトに合った処理を記述する事が出来る。

コメントを残す