ビルド時 (戦争がビルドされる前) に何らかの仕事 (静的ファイルをプリコンパイル) を行う Grails プラグインがあります。その仕事をするために、いくつかの jar 依存関係が必要です。したがって、この依存関係はビルド時にのみ必要です。それらを最終的なWARから除外するにはどうすればよいですか?
質問する
1901 次
2 に答える
8
あなたに追加BuildConfig.groovy
:
grails.war.resources = { stagingDir ->
delete(file:"${stagingDir}/WEB-INF/lib/whatever.jar")
}
于 2013-02-25T08:57:02.370 に答える
0
これは、スクリプトを使用して行うのが最適です。jar ファイルを除外する必要があるプロダクション用に WAR をデプロイするときに、これを採用する必要がありました。
script ディレクトリの下に _Event.groovy という名前のスクリプト ファイルを作成します。_Event.groovy ファイル内に、jar を削除するコードを追加します。ところで、これはトリガーされるイベントであり、命名規則に従う必要があります。
scripts/_Event.groovy 内
eventCreateWarStart = { warName, myDir ->
println 'EVENT CALLED!'
File libDir = new File("${myDir}/WEB-INF/lib/")
if (grailsEnv != "development") {
libDir.eachFileMatch( ~/^(tomcat|grails-plugin-tomcat).*\.jar$/) { File jarToRemove ->
println 'REMOVING JAR: ' + jarToRemove
jarToRemove.delete()
}
}
}
于 2013-02-25T21:19:37.500 に答える