3

プロファイル間で異なる値に応じて、MavenプロジェクトからさまざまなWARを生成する必要があります。

一部のファイルには、構成によって上書きされる可能性のあるデフォルト値があります。たとえば、デフォルトの画像を含む画像フォルダがあり、「prof1」プロファイルがそれらの一部を上書きし、「prof2」プロファイルがデフォルトの画像のみを使用する場合があります。

MavenWarプラグインを使用してこれを実装するのに問題があります。以下に示す構成にさまざまなWebリソースをリストしましたが、値は上書きされません。代わりに、デフォルトの画像が常に表示されます。おそらく、Webアプリケーションファイルを;/Webcontent/ではなくディレクトリに配置したことが関係します。/src/main/webapp必要に応じて元に戻すことができます。

これが私のMavenWarプラグインの構成です:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <overwrite>true</overwrite>
        <webResources>  
            <resource>
                <directory>${basedir}/WebContent</directory>
                <excludes>
                    <exclude>**/resources/*</exclude>
                </excludes>
            </resource> 
            <resource>
                <directory>${basedir}/WebContent/resources</directory>
                <targetPath>WEB-INF/classes</targetPath>
                <filtering>true</filtering>
            </resource>
            <resource >
                <directory>${basedir}/version/${profile.name}</directory>
            </resource>
        </webResources>
        <archiveClasses>false</archiveClasses>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix />
            </manifest>
        </archive>
    </configuration>
</plugin>
4

1 に答える 1

0

同じ問題が発生しました。アプリのWebContent部分のリソースは、この種のフィルタリングでは処理されないようです。特定のプロファイルのリソースを一時的なビルドフォルダーにコピーし、それを戦争と組み合わせるというアプローチを使用しました。ここで概説します:

http://edeustace.wordpress.com/2010/07/08/processing-resources-with-the-maven-war-plugin/

そしてそれはうまくいきました-

于 2011-12-21T18:15:51.877 に答える