GradleプロジェクトをEclipse、IntelliJ IDEA両対応で開発する

More than 1 year has passed since last update.

概要

以前、EclipseでGradleプロジェクトを作成する方法を書きましたが、その更新記事です。

今回は、Gradleで作成したJavaプロジェクトをGit管理しつつ、各開発者が、EclipseかIntelliJ IDEA、どちらか任意のIDEで開発できるようにしてみます。

Gradleでプロジェクト作成

適当なディレクトリに、gradle init --type java-libraryコマンドでプロジェクトを作ります。

ターミナル
mkdir fooProject
cd fooProject/
gradle init --type java-library

.gitignore

各IDEが生成した設定ファイルをgit管理の対象外とさせるため、.gitignoreに登録します。Gradleの公式リポジトリ.gitignoreファイルにその設定が書かれているので、必要な部分を抜き出します。

.gitignore
# Gradle
# ------
.gradle
/build
/buildSrc/build
/subprojects/*/build
/subprojects/docs/src/samples/*/*/build

# IDEA
# ----
.idea
.shelf
/*.iml
/*.ipr
/*.iws
/buildSrc/*.iml
/buildSrc/*.ipr
/buildSrc/*.iws
/buildSrc/out
/out
/subprojects/*/*.iml
/subprojects/*/out

# Eclipse
# -------
*.classpath
*.project
*.settings
/bin
/subprojects/*/bin
atlassian-ide-plugin.xml

# NetBeans(一応)
# --------
.nb-gradle
.nb-gradle-properties

git commit

この状態で、初回のgit commitをします。

ターミナル
git init
git add --all
git commit -m '初回'

コンソールでgradleを実行

ここのパートは特にこの通りやる必要はありませんが、簡単なプログラムを組んで動く状態を作ってみます。

build.gradleでライブラリ追加

build.gradle
apply plugin: 'java'
apply plugin: 'application' //この行追加

repositories {
    jcenter()
}

mainClassName = "foo.App" //この行追加 

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.21'
    compile 'org.apache.commons:commons-lang3:3.4' //この行追加

    testCompile 'junit:junit:4.12'
}

mkdir src/main/java/foo

src/main/java/foo/App.java
package foo;

import org.apache.commons.lang3.StringUtils;

public class App {
    public static void main(String[] args) {
        System.out.println(StringUtils.left("abcdef", 3));
    }
}

gradle runでGradleプロジェクトを実行すると、文字列"abc"が出力されます。

ターミナル
gradle run
:compileJava
:processResources UP-TO-DATE
:classes
:run
abc

BUILD SUCCESSFUL

Total time: 4.145 secs

この状態で変更した差分をgitにコミットしてください。

Eclipseで開く

Eclipse Neonのインストール

公式サイトからEclipse Neonのインストーラをダウンロードします。
スクリーンショット 2016-08-09 10.05.20.png

起動したらパッケージ選択画面がでるので、Java DevelopersかJava EE Developersを選んでEclipse本体をインストールします。
スクリーンショット 2016-08-09 10.18.31.png

Eclipse へプロジェクトをインポート

Eclipse NeonではGradleプラグイン(Buildship: Eclipse Plug-ins for Gradle)がディフォルトでインストール済みです。メニュー > File > Import...からGardle Projectを選んで、先ほど作成したプロジェクトのパスを指定します。
スクリーンショット 2016-08-09 11.25.57.png

Eclipse上でライブラリを追加

無事起動したら、Eclipseのエディタ上でライブラリを追加してみます。追加後は、プロジェクトツリーのプロジェクトルートで右クリックして、Gradle > Refresh Gradle Projectを選んでライブラリをダウンロードしてください。
スクリーンショット 2016-08-09 11.35.49のコピー.png

追加したライブラリをimportして使用できるようになります。
スクリーンショット 2016-08-09 11.49.02.png

この状態で変更した差分をgitにコミットしてください。

IntelliJ IDEA

前準備として、先ほどEclipseで更新したリポジトリを別のディレクトリにcloneしておいてください。

IntelliJ IDEA のインストール

JetBrainsのサイトから、IntelliJ IDEAをダウンロードします。

IntelliJへプロジェクトをインポート

IntelliJ IDEAで、Welcom to IntelliJ IDEAダイアログから、Import Projectで先ほどクローンしたGradleプロジェクトを取り込みます。(このダイアログをプロジェクトを全部閉じる以外の方法で表示するやり方を知っていたら教えてください。)
スクリーンショット 2016-08-09 12.18.13.png

このダイアログでは、Gradleを選びます。
スクリーンショット 2016-08-09 12.19.05.png

プロジェクトが起動すると、dependenciesのライブラリが解決されてコンパイルが通った状態になります。
スクリーンショット 2016-08-09 12.35.31.png

Appクラスで右クリック>Run 'App.main()'で実行できます。
スクリーンショット 2016-08-09 12.36.44.png

IntelliJ IDEA上でライブラリを追加

IntelliJ IDEA上でbuild.gradleにライブラリを追加する場合は、ファイル変更後にウインドウ右のGradleタグを開いて、「Refresh all Gradle Projects」ボタンをクリックしてください。
スクリーンショット 2016-08-09 12.44.59.png

しばらくするとライブラリがダウンロードされ、ライブラリが使えるようになります。
スクリーンショット 2016-08-09 12.48.51.png

まとめ

以下の手順でEclipse、IntelliJ IDEAでGradleプロジェクトを共有できます。

  1. gradleプロジェクトを作る
  2. .gitignoreにでIDEの設定ファイルを指定する
  3. Eclipse か IntelliJ IDEA で、Gradleプロジェクトをimportする

Gradleではプラグインを使うことでIDE用の設定ファイルをgradleに作成させることもできますが、importの方が手軽にIDEに取り込むことができます。

補足1
eclipseプラグインで、Eclipse用設定ファイルを作成する場合

build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'
ターミナル
gradle eclipse

補足2
ideaプラグインで、IntelliJ IDEA用設定ファイルを作成する場合

build.gradle
apply plugin: 'java'
apply plugin: 'idea'
ターミナル
gradle idea