Flyway - не копировать ресурсы sql

Я использую flyway в своем веб-проекте Java.

Мои миграции размещены в src/main/resources/db/migration

Теперь я хочу исключить ресурсы sql из целевой войны, поэтому я добавляю в свой pom.xml:

<project>
    ...
    <build>
    ...
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                   <exclude>**/*.sql</exclude>
               </excludes>
            </resource>
        </resources>
    ...
    </build>
</project>

Но тогда пролетный путь не работает, потому что он захватывает миграции от цели.

Итак, как я могу использовать flyway, но не копировать sql в свою войну?


person Nailgun    schedule 21.11.2012    source источник


Ответы (2)


Вы можете извлечь свои миграции в отдельный модуль maven с упаковкой pom и сделать ваше приложение зависимым от этого модуля. Пример модуля миграции можно посмотреть здесь

person Konstantin V. Salikhov    schedule 22.11.2012

Мое решение состояло в том, чтобы исключить копирование файлов в целевую войну вместо исключения ресурсов из копирования в целевые классы. Вот как это сделать:

<project>
    ...
    <build>
        ...
        <plugins>
             <plugin>
                  <artifactId>maven-war-plugin</artifactId>
                  <version>2.2</version>
                  <configuration>
                      <warName>my</warName>
                      <packagingExcludes>**/*.sql</packagingExcludes>
                  </configuration>
             </plugin>
         ...
         </plugins>
        ...
     </build>
     ...
 </project>
person Nailgun    schedule 26.11.2012