1. エラー内容
gradle lombokを下記のように providedで、dependenciesに追加したところ、 エラーが発生しました。
Could not find method provided() for arguments
apply plugin: 'java'
dependencies {
// Lombok
provided 'org.projectlombok:lombok:1.16.8'
}
java pluginにはどうもprovidedスコープはなく、 war pluginの場合、有効とのこと。
2. 解決方法
war plugin有効化でも解決できそうですが、
apply plugin: 'war'
warにすることはないため、以下を追記して解決しました。
configurations {
provided
}
// and set it to be used with your compilation classpath:
sourceSets {
main {
compileClasspath += configurations.provided
}
}
Lombok 使い方メモ
にも上記の記述が書いてありました。
gradle的に常識的な…ですかね?
3. 解決方法 追記 (2017/07/17)
以下、Stack Overflow の記事で記載されていますが、
Gradle 2.12 からは、コンパイルのみの依存関係をcopmpileOnly
で定義できるようになったみたいです。
gradle - providedCompile without war plugin - Stack Overflow
以下のような記述ができます。
dependencies {
compileOnly 'javax.servlet:servlet-api:2.5'
}
以上です。
コメント