Выполнение и фильтрация плагинов maven war в многомодульном проекте - PullRequest
1 голос
/ 19 октября 2010

Я использую maven для создания многомодульного проекта.

В одном проекте я выполняю maven-war-plugin четыре раза, чтобы отфильтровать некоторые свойства при каждом выполнении. Как самостоятельный проект, он работает хорошо.

Но когда я собираю мультимодуль, из «родителя» он выполняется четыре раза, но ни один из них не фильтрует свойства.

Спасибо всем!

Вот фрагмент моего 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>

1 Ответ

1 голос
/ 19 октября 2010

Но когда я собираю мультимодуль, из «родителя» он выполняется четыре раза, но ни один из них не фильтрует свойства.

Звучит как сложная установка ... В любом случае,Вы уверены, что содержимое src/main/webapp не не перекрывает фильтрованное содержимое?Запуск maven с -X может помочь отладить происходящее.

Я бы предложил прекратить злоупотреблять злоупотреблять элементом webResources (который следует использовать для External *1015 (веб-ресурсы) и переместить контент, который необходимо отфильтровать, за пределы src/main/webapp.

...