Mysql maven的flyway:未设置获取数据源!错误
我正在尝试使用maven的flyway,我有一个关于flyway的pom:Mysql maven的flyway:未设置获取数据源!错误,mysql,maven,flyway,Mysql,Maven,Flyway,我正在尝试使用maven的flyway,我有一个关于flyway的pom: <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <version>3.1</version>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>3.1</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>migrate</goal>
</goals>
<configuration>
<user>jrm</user>
<password></password>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost/fooDB?createDatabaseIfNotExist=true</url>
<table>version_history</table>
<locations>
<location>
filesystem:../../scripts/entitlement/db/cd
</location>
</locations>
org.flywaydb
FlywayMaven插件
3.1
假的
编译
迁移
jrm
com.mysql.jdbc.Driver
jdbc:mysql://localhost/fooDB?createDatabaseIfNotExist=true
历史版本
文件系统:../../scripts/entity/db/cd
请注意,jrm用户不需要密码,但我得到了与使用非空密码的用户相同的结果。在Windows上,我可以使用MySQL命令行客户端登录数据库。我对这条消息的印象是,它表明身份验证有问题;使用flyway版本4.0.3,它会显示检查用户、密码和url
我相信这可能是Windows特有的问题。注意,我已经将MySQL bin添加到path环境变量中。我注意到,当我尝试mysql-u root时,并没有提示我输入密码,我只是被拒绝访问,除非我使用mysql-u root-p,而且我有理由相信我需要一个用户,因此密码为空
编辑:我正在使用mvn flyway:migratewemu给出的答案完全正确:由于pom目前正在编写,因此有必要进行mvn编译,而不是flyway:migrate。此外,wemu随后关于移动配置的建议应该使直接调用Flyway成为可能,这可能是正确的方法。我猜Flyway插件的错误消息是完全准确的:它没有看到授权/db访问配置,但我对Maven了解不够,无法理解原因,并且花了大量时间认为信息错误,而不仅仅是插件不可用。如果执行目标,插件可能无法读取配置直接的。pom中的配置绑定到执行。当你运行“mvn编译”时,它能工作吗?天哪,它能工作。创建表格!非常感谢,wemu!!啊,所以猜测是好的:)-如果你仍然想直接运行flyway目标,你可以简单地在和所在的标高上移动。然后每次执行都将使用该配置。