我刚刚用Spring Boot版本2.1.3和Flyway 5.2.4和Java 11开始了一个新的Intellij项目。
尝试开始我的项目后,我得到了:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is java.lang.IllegalStateException: Cannot find migrations location in: [classpath:db/migration] (please add migrations or check your Flyway configuration)
我有以下文件夹:
正如你所看到的,我有“db/迁移”,但没有任何迁移,我现在才开始。调试类FlywayAutoConfigation我得到了以下内容:
因此,我尝试返回“classpath:”中的所有文件,请参见:
请注意,我只有“application.properties”文件。
我相信Flyway至少需要一个迁移脚本来初始化。尝试将一个简单的sql创建脚本添加到您的迁移文件夹中,然后再试一次。或者,您可以禁用flyway依赖关系,直到您需要它。
Flyway至少需要一个脚本,在应用程序中使用以下命令禁用它直到您需要它。属性文件
spring.flyway.enabled=假
这不是那么有用或准确的答案。
但是这个问题让你感到沮丧,所以我给出了这个解决方案。
注意:奇怪,但这是真的,有时它不允许复制粘贴,因为您的文件夹创建db.migration,它扩展了db-
通常这发生在以下情况下,
在我的例子中,我已经把sql文件放在那里,但它仍然给出同样的错误,基本上我是从某个地方使用复制粘贴来放置这个sql文件的。
当我尝试使用IDE在同一个地方添加一个新文件时(Intellij:右键单击迁移文件夹-
我在我支持的许多应用程序中实现了Flyway,它像梦一样工作。 但是,当我将应用程序部署到测试环境时,迁移就停止了。 经过一些调查,我发现当迁移被加载到jar文件中时,它们不是通过Flyway定位的,而是当它们没有被压缩时(比如当我在Eclipse中工作时,或者如果我将jar解压到类路径中),它会按预期工作。 由于应用程序的插件架构,我无法使用“默认”设置,因此我将Flyway对象设置为: 如果要
我们正在Karaf中部署我们的应用程序,并试图使用Flyway来处理数据库迁移,但它在运行时找不到我们的文件。我检查过的东西: > 当我为Flyway启用调试时,我可以看到它在类路径上找到了文件夹,但其中没有文件。 当408与安装的捆绑包匹配时,日志显示它正在查找正确的捆绑包。 我不确定还要查找什么,因为没有记录任何错误,而且它似乎正在查找它应该位于的文件夹,而不是sql文件。我假设这是一个清单类
我正在使用Flyway从Clojure内部进行数据库迁移。我遇到的问题是,当我制作一个uberjar来部署我的应用程序时,Flyway找不到jar文件中的迁移。它在开发中运行良好,无需打包应用程序。我尝试了一系列不同的组合来将迁移sql文件添加到jar中。我已经解压缩了jar,所有的迁移都在那里,我不确定问题是什么。 我使用的是flyway版本2.1.1,现在我的迁移是src/db/migrati
当我从命令行运行我的使用Flyway的Spring Boot·科特林应用程序时,它似乎可以工作,但从IntelliJ运行时却失败了。我创建了一个复制这个问题的最小样本项目:https://github.com/pupeno/notflying 我从IntelliJ得到的错误是没有找到迁移: 据我所知,迁移就在那里,并且命名正确: 运行它的IntelliJ配置如下所示: 我补充说: to 和尝试从
我正在尝试使用Flyway 4.2.0 Oracle 11g实现DB迁移 我有一个空模式: 当我尝试迁移时,Flyway说: 原因:<代码>组织。flywaydb。果心应用程序编程接口。FlywayException(FlywayException):找到了不带元数据表的非空架构“”!使用或将设置为初始化元数据表。 这是配置: 为什么我会收到此消息?我的基地是空的。
我在我的项目中设置了具有以下目录布局的Flyway(不包括不相关的目录): 和build.xml的相关部分(flyway.url和flyway.driver设置在不包括在这里的属性文件中---Flyway与数据库交谈没有问题): 以下是在编译目标中创建的迁移JAR的布局: 下面是来自的输出: Flyway没有发现问题。类文件。我做错了什么? 编辑:如果有人知道使用Ant(没有Maven,没有常春藤
我使用SpringBoot2.2.0.m2/Flyway5.2.4/Java8创建了一个新项目。在尝试开始我的项目后,我得到了: 我在db/migration下有一个init sql,名称为:(其中只有一行:) yml中的flyway配置(忽略其他数据源): 我试着调试它,发现总是返回false,这意味着没有找到位置(但在调试器中看起来是正确的),见下面的截图: 感谢任何善意的帮助:)
我是一名学习使用jsp和Servlet构建Web应用程序的学生。一个月以来,我的Web应用程序项目一直运行良好,但今天它的行为突然变得奇怪了。当我提交jsp页面时,它无法找到我的servlet。我已经使用servlet注释来映射请求。 以下是我的JSP:- 以下是我的servlet:- 以下是我的控制台日志:-