Flyway Ant 尝试以 zip 格式打开 .sql 文件,失败并出现 ZipException
Flyway Ant tries to open .sql file as a zip, fails with ZipException
我正在尝试在我的 Ant 项目中使用 Flyway 来 运行 DDL 脚本。我设法配置了类路径,以便 Flyway 可以看到迁移脚本。当我 运行 flyway:migrate 任务时,我得到这个异常:
Unable to obtain resource from (...)/src/ddl/V1__create_tables_logging.sql: java.util.zip.ZipException: error in opening zip file
[flyway:migrate] Unable to obtain resource from (...)/src/ddl/V1__create_tables_logging.sql:
[flyway:migrate] java.util.zip.ZipException: error in opening zip file
最后有建议:
[flyway:migrate] Possible solution: run the Ant javac and copy tasks first so Flyway can find the migrations
但我的项目不是 Java 应用程序,我没有要用 javac 编译的 java 源代码。 Flyway 是否需要将迁移脚本打包在一个 jar 中?不能只是 运行 一些带有 SQL 语句的文本文件吗?
不幸的是,您没有提供您拥有的配置,否则很难判断是什么导致了这个问题。
但我觉得很奇怪,您没有使用任务的 location
属性,而是 classpath
。尝试使用您的迁移脚本指定目录,如下所示:
<flyway:migrate>
<locations>
<location path="path/to/migrations"/>
</locations>
...
</flyway:migrate>
我正在尝试在我的 Ant 项目中使用 Flyway 来 运行 DDL 脚本。我设法配置了类路径,以便 Flyway 可以看到迁移脚本。当我 运行 flyway:migrate 任务时,我得到这个异常:
Unable to obtain resource from (...)/src/ddl/V1__create_tables_logging.sql: java.util.zip.ZipException: error in opening zip file
[flyway:migrate] Unable to obtain resource from (...)/src/ddl/V1__create_tables_logging.sql:
[flyway:migrate] java.util.zip.ZipException: error in opening zip file
最后有建议:
[flyway:migrate] Possible solution: run the Ant javac and copy tasks first so Flyway can find the migrations
但我的项目不是 Java 应用程序,我没有要用 javac 编译的 java 源代码。 Flyway 是否需要将迁移脚本打包在一个 jar 中?不能只是 运行 一些带有 SQL 语句的文本文件吗?
不幸的是,您没有提供您拥有的配置,否则很难判断是什么导致了这个问题。
但我觉得很奇怪,您没有使用任务的 location
属性,而是 classpath
。尝试使用您的迁移脚本指定目录,如下所示:
<flyway:migrate>
<locations>
<location path="path/to/migrations"/>
</locations>
...
</flyway:migrate>