【发布时间】:2017-10-17 08:26:16
【问题描述】:
我在使用 FLyway 中的类路径设置位置时遇到问题,当我与文件系统一起使用时,它工作正常。
例子:
这个工作:
this.setLocations("filesystem:C:\\Projects\\ProjectName\\src\\main\\java\\com\\some1\\some2\\some3\\database\\migration");
这不起作用(我尝试使用分隔符:“\”、“.”、“/”):this.setLocations("classpath:ProjectName/src/main/java/com/some1/some2/some3/database/migration");
不工作时,抛出错误:
[警告] [] [org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-xx] [timeMillis: 1495044249009] [levelValue: 900] [[ 无法解析位置类路径:ProjectName/src/main/java/com/some1/some2/some3/database/migration]]
我尝试了一些如上所述的分隔符,没有关键字“classpath”,并且总是在我想使用类路径时抛出“无法解析位置......”。
我使用 flyway ver 4.1.2 和 JavaAPI(https://flywaydb.org/getstarted/firststeps/api)
编辑。/ 当我更改 Flyway 的默认迁移 sql 文件的位置和目录名称,而不是设置位置时,它工作正常。所以,结论是我写错了类路径,但我做错了什么?
默认配置:
1. main/resources/db/migration 有什么建议吗?
【问题讨论】:
-
当使用
classpath删除src/main/java因为那是类路径。