LoginSignup
7
6

More than 5 years have passed since last update.

Eclipse4.5+gradleでいれたlombokが動かない場合(mac)

Last updated at Posted at 2016-08-03

javaのgetter/setterという冗長部分を良い具合に隠してくれるlombokをよく使いますが、久しぶりに入れ直したらうまく動かなかったので自分へのメモとして。

環境

OS: OSX El Capitan
Eclipse 4.5.2
Gradle 2.9
lombok 1.16.6

lombok導入

lombokはgradle経由でいれます。
lombokはコンパイル時のみ必要なライブラリなので、compileじゃなくてprovidedらしい。

build.gradle
configurations {
    provided
}

sourceSets {
    main { compileClasspath += configurations.provided }
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-jdbc')
    provided('org.projectlombok:lombok:1.16.6')

    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('mysql:mysql-connector-java')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

eclipse {
    classpath {
         plusConfigurations += [configurations.provided]
         noExportConfigurations += [configurations.provided]
         containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
         containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
    }
}

eclipseの設定に追加

上記でgradleをリフレッシュすると、lombokが参照ライブラリーとしてダウンロードされて使えるようになる。
かと思いきや、@Dataアノテーションをつけてもgetter/setterが生成されない・・・

そんなときは、eclipse.iniファイル内に下記を追加すればいけた。

eclipse.ini
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

追加したらeclipse再起動してね。

ちなみにeclipse.iniファイルの場所は
Eclipse.app > 右クリック[パッケージの内容を表示] > Contents > Eclipse >eclipse.ini

160803-0001.png

追記

lombok.jarファイルが、上図のようにEclipseディレクトリ直下に入ってないとeclipse.iniファイルに書き込んだだけではだめでした。

公式からダウンロードしてきても良いですが、今回はGradleでダウンロードしてきたのでプロジェクトのライブラリ内に入っています。

lombok.jarは単体でインストーラが起動するようになっているので、対象のEclipseを選択しましょう。

するとEclipseディレクトリに入ります。あとはeclipse.iniに追記したらOK

7
6
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
7
6