2011-08-04 13 views
2

Buildrを使用して戦争をパッケージ化するときにweb.xmlファイルをフィルタリングできますか?Buildr - パッケージング戦争でのweb.xmlのフィルタリング

Buildrのドキュメント:

Without much prompting, package :war picks the contents of the src/main/webapp directory and places it at the root of the WAR

私はプレースホルダを持っているか、web.xmlで定義されトークンと私が構築していENVかに応じて、戦争をパッケージ化するとき、私はそれを交換したいと思います。それについて最善の方法は何ですか?パッケージメソッドのフィルタリングオプションはありますか?

答えて

3

その後、

、(暗黙的にパッケージングする前に必要とされる)リソースのタスクを使用して新しいタスクを配線
filter_webapp = file("target/webapp") do |task| 
    filter('src/main/webapp/').into(task.to_s).using(
    'version' => '9999' 
).run 
end 

src/main/webappの下であなたのリソースをフィルタリングし、 target/webapp下の結果のファイルを配置するBuildrを指示することができます
resources.enhance [filter_webapp] 

と最後に濾過資源、

package(:war).with(filter_webapp) 
0123をパッケージ化

フィルタリングの詳細については、http://buildr.apache.org/building.html#resources

+0

レスありがとうございました。私はまだそれを働いていないが、2,3日離れているが、私は戻ってきたときこれで続ける – Ross

+0

こんにちはアレックス、これは感謝しています...理由は、以前このエラーで失敗していた理由:ArgumentError:シンボル文字列行フィルタ( 'src/main ...)に' \ 0 'を含めることはできません。私のイメージフォルダのjpegファイルに絞り込んだ...他のjpegs/gifs/etcと同じように奇妙です。すぐにその画像を取り除くとすぐに動作します。 – Ross

+0

2行目に 'ArgumentError:interning empty string'が表示されます。 buildr --traceは私を助けません。 – koppor

関連する問題