2

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

ビルダーのドキュメント:

package :war は、あまりプロンプトを表示せずに、src/main/webapp ディレクトリの内容を取得し、それを WAR のルートに配置します。

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

4

1 に答える 1

3

Buildr にリソースをフィルター処理しsrc/main/webapp、結果のファイルを , の下に配置target/webappするように指示できます。

filter_webapp = file("target/webapp") do |task|
  filter('src/main/webapp/').into(task.to_s).using(
    'version' => '9999'
  ).run
end

次に、新しいタスクにリソース タスクを関連付けます (パッケージ化する前に暗黙的に必要になります)。

resources.enhance [filter_webapp]

最後に、フィルタリングされたリソースをパッケージ化します。

package(:war).with(filter_webapp)

フィルタリングの詳細については、http://buildr.apache.org/building.html#resourcesを参照してください。

于 2011-08-04T15:11:10.547 に答える