报错信息:
WARNException encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Unsatisfied dependency expressed through method 'flywayInitializer' parameter 0; nested exception is 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 org.springframework.boot.autoconfigure.flyway.FlywayMigrationScriptMissingException: Cannot find migration scripts in: [classpath:db/migration] (please add migration scripts or check your Flyway configuration)
ERROR
***************************
APPLICATION FAILED TO START
***************************
Description:
Flyway failed to initialize: none of the following migration scripts locations could be found:
- classpath:db/migration
Action:
Review the locations above or check your Flyway configuration
Disconnected from the target VM, address: '127.0.0.1:52311', transport: 'socket'
经一番搜索,网上看到相同问题的解决方案是:db/migration目录下添加一个后缀为 “.sql”的文件,尝试之后还是未能解决问题
后经一番探索,发现是idea一个路径创建bug导致,idea多级目录折叠显示时如下图:
但是关键问题在于你创建时不能用“.”同时创建多级目录,如下:
idea会将这种目录认定为一个目录,展开如下:
所以综上:避免这种问题的方式就是创建目录的时候不要用“.”一次创建多级目录。idea允许目录中有“.”,这样的创建方式看着是多层目录,其实只是一层目录