提到这个问题,我发现 flyway 使用 normalizeLocation 方法删除了位置路径末尾的斜杠。(在 Flyway 1.7 上)在调试模式下,如果我评估 flyway 调用 findResourceNames
getClassLoader().getResources("com/me/app/sql/migration").hasMoreElements();
它总是返回假。但如果我评估
getClassLoader().getResources("com/me/app/sql/migration/").hasMoreElements();
它返回 true。
那么为什么 flyway 这样做呢?因为这可能是我的问题的根源,而我的迁移永远找不到的原因。