FlywayDB找不到Postgresql驱动程序

FlywayDB找不到Postgresql驱动程序,postgresql,flyway,Postgresql,Flyway,我正在尝试在一个插口/Bukkit MC插件中设置Flyway。目前,每次执行SQL代码时,都会出现错误 ` 这是我们第二行的错误 Flyway flyway = Flyway.configure() .dataSource(getJdbcString(), DATABASE_USERNAME, DATABASE_PASSWORD) .load(); flyway.migrate(); 我可以确认jdbcstring和用户名/

我正在尝试在一个插口/Bukkit MC插件中设置Flyway。目前,每次执行SQL代码时,都会出现错误 `

这是我们第二行的错误


    Flyway flyway = Flyway.configure()
            .dataSource(getJdbcString(), DATABASE_USERNAME, DATABASE_PASSWORD)
            .load();
    flyway.migrate();

我可以确认jdbcstring和用户名/密码是正确的,因为我可以通过DriverManager建立连接,但Flyway似乎找不到驱动程序。另外,我可以在我的输出jar中看到驱动程序,它位于blah.jar\org\postgresql\driver.class中

谢谢你的帮助!!谢谢你

想明白了! 事实证明,我们使用的spiget服务器软件使用的类加载器与主java线程不同,因此在加载jdbc驱动程序时出现了问题。我们通过传递正确的类加载器修复了这个问题

Flyway flyway = Flyway.configure(LockupCore.getInstance().getPublicClassLoader())
明白了! 事实证明,我们使用的spiget服务器软件使用的类加载器与主java线程不同,因此在加载jdbc驱动程序时出现了问题。我们通过传递正确的类加载器修复了这个问题

Flyway flyway = Flyway.configure(LockupCore.getInstance().getPublicClassLoader())

自从我与@ctooley17合作以来,我有一个后续评论。打开编译后的jar文件时,postgres驱动程序文件肯定存在于它应该查看的地方。打开编译后的jar文件时,postgres驱动程序文件肯定存在于它应该查找的位置。对于SPIGET 1.5.2的最新版本,请使用以下命令:
Flyway Flyway=Flyway.configure(this.getClassLoader()).dataSource(“jdbc:mysql://localhost:3306/abmap“,”root“,”password“).locations(“db.migration”).load()此解决方案帮助我无法找到Spigot 1.5.2最新版本的迁移-使用以下命令:
Flyway Flyway=Flyway.configure(This.getClassLoader()).dataSource(“jdbc:mysql://localhost:3306/abmap“,”root“,”password“).locations(“db.migration”).load()此解决方案帮助我无法找到迁移
Flyway flyway = Flyway.configure(LockupCore.getInstance().getPublicClassLoader())