マルチモジュールプロジェクトでの Maven war プラグインの実行とフィルタリング

StackOverflow https://stackoverflow.com/questions/3966244

  •  09-10-2019
  •  | 
  •  

質問

Maven を使用してマルチモジュール プロジェクトをビルドしています。

あるプロジェクトでは、実行ごとにいくつかのプロパティをフィルターするために、maven-war-plugin を 4 回実行します。スタンドアロンのプロジェクトとしてはうまく機能します。

しかし、マルチモジュールをビルドすると、「親」から 4 回実行されますが、いずれもプロパティをフィルターしません。

皆さん、ありがとうございました!

これが私の pom.xml の断片です。

<project>  
<modelVersion>4.0.0</modelVersion>
<groupId>net.my</groupId>
<artifactId>my-project</artifactId>
<packaging>war</packaging>
<name>myProject</name>
<version>0.0.1</version>

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0</version>
        <executions>
            <execution>
                <id>list</id>
                <phase>package</phase>
                <goals>
                    <goal>war</goal>
                </goals>
                <configuration>
                    <warName>myProj-list.war</warName>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp</directory>
                            <filtering>true</filtering>
                            <includes>
                                <include>**/*.xml</include>
                            </includes>
                        </resource>
                    </webResources>
                    <filtering>true</filtering>
                    <filters>
                        <filter>src/main/filters/list.properties</filter>
                    </filters>
                </configuration>
            </execution>  
            ...
            <!-- more executions -->
            </execution>
        </executions>
        <configuration>
            <webResources>
                <resource>
                    <directory>src/main/webapp</directory>
                    <filtering>true</filtering>
                    <includes>
                         <include>**/*.xml</include>
                      </includes>
                </resource>
             </webResources>
             <filters>
                <filter>src/main/filters/locator.properties</filter>
            </filters>
        </configuration>
    </plugin>
</plugins>
</build>
役に立ちましたか?

解決

しかし、マルチモジュールをビルドすると、「親」から 4 回実行されますが、いずれもプロパティをフィルターしません。

設定が複雑な気がします...とにかく、内容は確かですか? src/main/webapp する ない フィルタリングされたコンテンツを上書きしますか?Maven を実行する -X 何が起こっているかをデバッグするのに役立つかもしれません。

私の提案は虐待をやめることです 虐待するwebResources 要素 (次の目的で使用する必要があります) 外部の Web リソース)、フィルターする必要があるコンテンツを外部に移動する src/main/webapp.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top