多くのプロジェクトで特定のフィルターを再利用したいので、それを抽出し、単一の jar を使用して Web アプリに追加するだけです。
ビルドには、Gradle 1.3 と次のbuild.gradle
ファイルを使用しています。
apply plugin: 'java'
dependencies {
compile group:'org.slf4j', name:'slf4j-api', version:'1.7.+'
testCompile group:'junit', name:'junit', version:'4.+'
compile group:'org.springframework', name:'spring-web', version:'3.+'
compile group:'org.slf4j', name:'slf4j-log4j12', version:'1.6.+'
compile group:'log4j', name:'log4j', version:'1.2.+'
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version:'3.+'
}
repositories {
mavenCentral()
}
ご覧のとおり、このフィルターを正常にコンパイルするにはサーブレット API が必要なので、Maven が提供する依存関係のように追加したいと考えています。
とにかく、実行後gradle build
、次のエラーが発生します。
ルート プロジェクト 'hibernate-conversation-context' で、引数 [{group=javax.servlet, name=javax.servlet-api, version=3.+}] のメソッド providedCompile() が見つかりませんでした。
これで、WAR プラグインなしでは providedCompile を使用できないことがわかりましたが、プロジェクトを単純な JAR にする必要があります。これを行う別の方法はありますか?