build.gradleで
apply plugin: 'war'
等としていると、dependencies
にprovidedCompile
が使えますが、例えば
apply plugin: 'java'
だけだとprovidedCompile
は使えません。そこで以下のようにすれば使えるようになります。
configurations {
providedCompile
}
sourceSets {
main.compileClasspath += configurations.providedCompile
test.compileClasspath += configurations.providedCompile
test.runtimeClasspath += configurations.providedCompile
}
ただし、マルチプロジェクト等でmasterに上記設定をしてサブプロジェクトで
apply plugin: 'war'
としていた場合、すでにprovidedCompile
を登録しているため、エラーが発生します。
そのため、以下のようにすればエラーが無くなります。が、これでいいんだろうか?
sourceSets {
main.compileClasspath -= configurations.providedCompile
test.compileClasspath -= configurations.providedCompile
test.runtimeClasspath -= configurations.providedCompile
}
configurations.remove(configurations.providedCompile)
apply plugin: 'war'
ようは初期状態に戻してあとはwarプラグインに任せましょうってことで。