Java Flyway-不复制sql资源

Java Flyway-不复制sql资源,java,database,maven,data-migration,flyway,Java,Database,Maven,Data Migration,Flyway,我在java web项目中使用flyway 我的迁移放在src/main/resources/db/migration中 现在,我想从目标war中排除sql资源,因此我将以下内容添加到pom.xml中: <project> ... <build> ... <resources> <resource> <directory>src/main/r

我在java web项目中使用flyway

我的迁移放在src/main/resources/db/migration中

现在,我想从目标war中排除sql资源,因此我将以下内容添加到pom.xml中:

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

...
...
src/main/resources
**/*.sql
...
但是flyway不起作用,因为in从目标抓取迁移


那么,我如何使用flyway,但又能避免将sql复制到我的war中呢?

您可以通过
pom
打包将迁移提取到单独的maven模块,并使您的应用程序依赖于此模块。您可以看到迁移模块的示例

我的解决方案是将文件从复制到目标war中排除,而不是将资源从复制到目标类中排除。以下是实现这一目标的方法:

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

...
...
maven战争插件
2.2
我的
**/*.sql
...
...
...