gpt4 book ai didi

java - FlyWayDB - 无法解析位置类路径

转载 作者:行者123 更新时间:2023-12-01 12:06:32 27 4
gpt4 key购买 nike

我在使用 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");
不工作时,其抛出错误:

[WARNING] [] [org.flywaydb.core.internal.util.scanner.classpath.ClassPathScanner] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-xx] [timeMillis: 1495044249009] [levelValue: 900] [[ Unable to resolve location classpath: ProjectName/src/main/java/com/some1/some2/some3/database/migration]]



我尝试了上面的一些分隔符,没有关键字“类路径”,并且总是当我想使用类路径时它抛出“无法解析位置......”。

我使用 flyway 版本 4.1.2 和 JavaAPI( https://flywaydb.org/getstarted/firststeps/api )

编辑。/
当我更改迁移 sql 文件的位置和 Flyway 默认的目录名称,而不是设置位置时,它工作正常。所以,结论是我写错了类路径,但我做错了什么?

默认配置:
1.主/资源/ 分贝/ 迁移 < 要迁移的 sql 文件的默认文件夹
2.没有设置位置

一些建议?

最佳答案

'classpath' 意味着真正的类路径,你不能用路径扩展你的类路径。

当我看到您的类路径声明时,我认为您的迁移将被打包在一个路径为“com/some1/some2/some3/database/migration”的 jar 中。 '

=> 所以你的类路径配置必须是这样的:

类路径:com/some1/some2/some3/database/migration

如果您使用基于 SQL 文件的迁移,我对 src/main/resources 有更好的体验作为基地位置。

关于java - FlyWayDB - 无法解析位置类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44032229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com