Создание пользовательских WAR-архивов с профилями Maven - PullRequest
3 голосов
/ 06 декабря 2011

Мне нужно создать разные WAR-файлы из проекта Maven в соответствии со значениями, которые различаются в разных профилях.

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

У меня проблемы с реализацией этого с помощью Maven War Plugin . Я перечислил различные веб-ресурсы в конфигурации, показанной ниже, но значения не переопределяются - вместо этого всегда отображаются изображения по умолчанию. Вероятно, уместно, что я поместил файлы веб-приложения в каталог /Webcontent/ вместо /src/main/webapp; Я мог бы переключиться обратно, если это необходимо.

Вот моя конфигурация плагина maven war:

<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>

1 Ответ

0 голосов
/ 21 декабря 2011

У меня была та же проблема, очевидно, ресурсы в части WebContent вашего приложения не обрабатываются этим типом фильтрации, я использовал подход, при котором вы копируете ресурсы для определенного профиля во временную папку сборки, а затем комбинируете его свойна, это обрисовано в общих чертах здесь:

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

, и это прекрасно сработало -

...