3

我在我的 java web 项目中使用 flyway。

我的迁移放在 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 不起作用,因为从目标中获取迁移。

那么我如何使用 flyway 但避免将 sql 复制到我的战争中呢?

4

2 回答 2

0

您可以提取迁移以将 maven 模块与pom打包分开,并使您的应用程序依赖于该模块。您可以在此处查看迁移模块的示例

于 2012-11-22T06:16:40.710 回答
0

我的解决方案是从复制到目标战争中排除文件,而不是从复制到目标类中排除资源。这是执行此操作的方法:

<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>
于 2012-11-26T07:10:46.643 回答