3

さまざまな構成のさまざまな環境で実行されている巨大なアプリケーションがあります。だから私は別のパッケージを生成する必要があります/META-INF/context.xml

これは私のMETA-INF/フォルダです:

META-INF/
  context.xml  
  context2.xml  
  context3.xml  
  context4.xml  

すでにmaven-antrun-pluginを試しましたが、 内のファイルを処理できませんMETA-INF/

今、私はmaven-war-pluginを試していますが、ファイルの名前を変更したりコピーしたりしません。ファイルを追加または除外するだけです。だから私はいくつかの助けが必要です。

それらの1つだけを選択して、元のcontext.xml.

注:私はプロファイルを使用しています。

4

2 に答える 2

0

まず、入力ファイルを META-INF に入れないでください。それらをmavenが認識していないフォルダーに入れます。各プロファイルのファイル名にプロパティを設定するようになりました

  <properties>
    <folder>path/to/context/files</folder>
  </properties>

<profile>
  <id>foo</id>
  <properties>
    <filename>context2.xml</filename>
  </properties>
</profile>
<!-- etc. -->

次に、antrun プラグインを使用して、ant プロパティを定義します。

<property name="maven.context.file" value="${folder}/${filename}"/>

antrun の使用方法のページ で説明されているように、 ant ターゲットを呼び出す前に。

于 2012-09-04T16:36:30.867 に答える
0

1 つのオプションは、 で と を使用する<packagingExcludes>こと<packagingIncludes>ですmaven-war-plugin

たとえばcontext.xml、 、およびを除外するにはcontext1.xml:

 <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <packagingExcludes>META-INF/context.xml,META-INF/context1.xml</packagingExcludes>
        </configuration>
  </plugin>

含めるセクションと除外するセクションで正規表現を使用して、さまざまなファイルを除外できます。この Maven wikiでは、このトピックに関するより多くの例と詳細をカバーしています。

于 2012-09-04T16:08:55.783 に答える