10
16

More than 5 years have passed since last update.

IntelliJ で Gradle のマルチプロジェクトを設定して JAR ファイルのビルドを行う

Last updated at Posted at 2017-12-21

つまずく箇所が多かったので、健忘録です。
※ IntelliJ IDEA CE 2017.3 で確認

新規プロジェクトの作成

Gradle のプロジェクトを作成。
ルートプロジェクトなので "追加のライブラリーおよびフレームワーク" から全てのチェックを外す。
01.png
02.png
03.png

shared プロジェクト(モジュール)の追加

IntelliJ の "プロジェクトビュー" を右クリックし、コンテクストメニューから [新規] → [モジュール] を選択し、shared モジュールを追加する。
04.png

こちらは "追加のライブラリーおよびフレームワーク" の [Java] にチェックを付ける
05.png
06.png
07.png

"プロジェクトビュー" からではなく、"プロジェクト構造" ウインドウから追加するのはダメっぽい。
(なぜか、"次へモジュールとして追加" 欄へ親プロジェクトが指定できない)
04B.png

追加が完了したら、適当な共通機能を実装する。
08.png

app モジュールの追加

続けて共通機能を利用する側のモジュールを同様の手順で追加する。

追加が完了したら "build.gradle" ファイルの dependecies に shared モジュールを追加し、適当な機能を実装する。
09.png

続けて "実行/デバッグ構成" を設定し、実行できることを確認する。
10.png
11.png

JAR ファイルの生成

デフォルトの状態だと Gradle の出力ディレクトリ設定と、IntelliJ の設定が異なるため正常な JAR ファイルが生成されない。

参考: stack overfloe - Building with Intellij 2017.2 /out directory duplicates files in /build directory

12B.png

このため shared モジュールと app モジュールの "build.gradle" ファイルで、明示的に出力ディレクトリを指定する。
12.png

続けて "プロジェクト構造" ウインドウの "プロジェクト設定" 内の [成果物] から [+] → [JAR] → [依存関係をもつモジュールから...] を選択して成果物を追加する。
13.png

モジュールとメイン・クラスを指定する際に、マニュフェストファイルのディレクトリを java から resources に変更する。
14.png

最後に JAR ファイルを正常に実行できることを確認する。
15.png

10
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
16