2

現在、Java Web プロジェクトのビルド プロセスを Ant から Maven に移行しています。現在のプロセスは、Ant に提供された環境パラメーターに基づいて、WAR ファイルの生成中にメイン アプリケーション プロパティに挿入される、いくつかの環境固有のプロパティ ファイルを使用します。

Maven で簡単に複製できなかった機能の 1 つは、プロパティ ファイルのプレフィックスです。

<property name="some.env.file" value="someEnv.properties"/>
<property file="${some.env.file}" prefix="some.env"/>

これにより、ファイルのすべてのプロパティに「some.env」というプレフィックスが付けられ、アプリケーション プロパティのすべてのプレースホルダーにこのプレフィックスが含まれます。

some.property=${some.env.propertyOne}

Maven は pom.xml フィルターとフィルター要素を提供してプロパティの置換を可能にしますが、ビルド パラメーターとして設定された環境固有のプレフィックスをファイル内のすべてのプロパティ名の前に追加する方法が見つかりませんでした。これにより、Maven ビルドのプロパティ ファイルを複製する必要があります。処理する。この Ant の元の機能を Maven で複製する方法はありますか?

4

1 に答える 1

2

maven-antrun-plugin を使用して、プレフィックスを使用した単純な ant タスクでプロパティ ファイルをロードすることをお勧めします。またexportAntProperties、ant で定義されたプロパティが maven で使用できるようにします。

このようなものは、検証フェーズ (および後続のすべてのフェーズ) 中に、ant によって定義されたすべてのプロパティを Maven ビルドで利用できるようにします。

 <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <configuration>
          <exportAntProperties>true</exportAntProperties>
          <target>
            <property file="${some.env.file}" prefix="some.env"/>
          </target>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
于 2013-03-29T11:41:58.417 に答える