#navi_header|Groovy| Gradleのwarプラグインでは、servlet apiの依存性を追加するために dependencies { ... providedCompile 'javax.servlet:servlet-api:2.5' ... } という設定が使えるようになっています。 実は、"providedCompile"という依存性の指定はwarプラグイン独自に追加しているもので、通常のjavaプラグインだけのプロジェクトでは使えません。 上記のような、「コンパイルの時はクラスパスに入れるけど、配布用のパッケージングからは外す」タイプの依存性は、Mavenでは"provided" scopeで実現出来ます。 これと同等の仕組みをGradleで使おうとすると、warプラグインを(そのためだけにわざわざ)追加するか、あるいは以下の様なwork-arroundがあります。 ※特に手元で検証したわけではないので、参考情報程度で。 * "SpringSource Gradle Plugins" を使う。 - https://github.com/SpringSource/gradle-plugins こんな感じで、"optional"と"provided"という依存性セットが使えるようになるそうです。 #pre||> dependencies { compile("commons-logging:commons-logging:1.1.1") optional("log4j:log4j:1.2.17") provided("javax.servlet:javax.servlet-api:3.0.1") testCompile("junit:junit:4.11") } ||< * カスタムのConfigurationを追加して手動でクラスパスに追加する。 参考: - Emulating Maven’s “provided” scope in Gradle « codeaholics.org -- http://blog.codeaholics.org/2012/emulating-mavens-provided-scope-in-gradle/ #pre||> configurations { provided } sourceSets { main.compileClasspath += configurations.provided test.compileClasspath += configurations.provided test.runtimeClasspath += configurations.provided } dependencies { provided 'org.apache.ant:ant:1.8.4' } ||< * その他考慮が必要な点 Eclipse/IDEAなど、IDE側でGradleプロジェクトを読み込んだ時の調整についても考慮する必要があるようです。 #navi_footer|Groovy|