provided スコープの指定
lombok 使うときは、依存スコープを provided にします。
maven だと、こんな感じになります。
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.0</version> <scope>provided</scope> </dependency> </dependencies>
gradle 使う場合は java プラグインだと provided の configurations は追加されないので、war プラグインで providedCompile を指定するのが簡単ですね。
apply plugin: 'java' apply plugin: 'war' repositories { mavenCentral() } dependencies { providedCompile "org.projectlombok:lombok:1.16.0" testCompile("junit:junit") } task wrapper(type: Wrapper) { gradleVersion = '2.2.1' }
不要な war プラグインを導入したくない場合には、以下のように自前で provided を定義する必要があります。
configurations {
provided
}
sourceSets {
main.compileClasspath += configurations.provided
test.compileClasspath += configurations.provided
test.runtimeClasspath += configurations.provided
}
idea プラグインを使う場合モジュールの設定も追加してあげる必要があります。
apply plugin: 'java' apply plugin: 'idea' repositories { mavenCentral() } configurations { provided } sourceSets { main.compileClasspath += configurations.provided test.compileClasspath += configurations.provided test.runtimeClasspath += configurations.provided } idea { module { scopes.PROVIDED.plus += [configurations.provided] } } dependencies { provided "org.projectlombok:lombok:1.16.0" testCompile("junit:junit") } task wrapper(type: Wrapper) { gradleVersion = '2.2.1' }
以下のようにして、
gradle wrapper ./gradlew idea
idea から開いてあげれば完了です。
面倒な場合は、provided プラグインを使うのも良いかもしれません。
buildscript {
repositories {
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies {
classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.6'
}
}
// ...
configure(allprojects) {
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
apply plugin: 'propdeps-eclipse'
}
dependencies {
provided "org.projectlombok:lombok:1.16.0"
testCompile("junit:junit")
}
Intellij で lombok プラグインを入れる
IDE では lombok プラグインないとやってられないので
設定画面から Browse repositories...

lombok プラグインを Install plugin して再起動

こんな感じで getter や setter が見えます。
