我在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>
但是flyway不起作用,因为它抓住目标的迁移。
那么我怎么能使用flyway但是避免将sql复制到我的战争中?
答案 0 :(得分:0)
您可以使用pom
打包将迁移提取到单独的maven模块,并使您的应用依赖于此模块。您可以看到迁移模块here
答案 1 :(得分: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>