Spring Boot FlywayException:无法连接到数据库。配置url、用户和密码

2024-02-05

当我跑步时maven flyway:migrate,我收到错误

无法执行目标 org.flywaydb:flyway-maven-plugin:6.5.5:migrate (default-cli)在项目 myProject 上: org.flywaydb.core.api.FlywayException:无法连接到 数据库。配置url、用户和密码!

我的 application.yml 文件中有 Spring Boot 设置,但我猜该错误意味着它没有检测到数据库配置。这个文件 https://flywaydb.org/documentation/plugins/springboot说,“然后 Spring Boot 将自动使用其数据源自动连接 Flyway 并在启动时调用它。”如果我将配置添加到 Flyway 插件部分的 pom.xml 中,它会成功连接到数据库,但我希望它使用我的 application.yml 配置。不是 pom.xml。那么我做错了什么?

链接到有问题的存储库:https://github.com/jack-cole/BrokenSpringBoot https://github.com/jack-cole/BrokenSpringBoot

应用程序.yml

spring:
    datasource:
        driverClassName: org.postgresql.Driver
        url: "jdbc:postgresql://localhost:5433/myDB"
        username: postgres
        password: test123

依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jooq</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.16</version>
</dependency>
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
    <version>7.0.0</version>
</dependency>

Plugins:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>6.5.5</version>
</plugin>

使用 Maven 运行:

无法执行目标 org.flywaydb:flyway-maven-plugin:6.5.5:migrate (default-cli)在项目 myProject 上: org.flywaydb.core.api.FlywayException:无法连接到 数据库。配置url、用户和密码!

您可以配置网址、用户名和密码在 Flyway-maven-plugin 配置中参见第一步 Maven https://flywaydb.org/documentation/getstarted/firststeps/maven

<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>7.0.0</version>
    <configuration>
        <url>jdbc:postgresql://localhost:5433/myDB</url>
        <user>postgres</user>
        <password>test123</password>
    </configuration>
</plugin>

或使用环境变量:

mvn flyway:migrate -Dflyway.url=jdbc:postgresql://localhost:5433/myDB -Dflyway.user=postgres -Dflyway.password=test123

更多方法https://www.baeldung.com/database-migrations-with-flyway https://www.baeldung.com/database-migrations-with-flyway

使用 spring-boot 运行:

Spring Boot 在应用程序中自动配置并触发 Flyway 当您将 Flyway 核心库包含到项目中时启动。看 的用法@ConditionalOnClass(Flyway.class)在 Flyway自动配置:

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Flyway.class)
@Conditional(FlywayDataSourceCondition.class)
@ConditionalOnProperty(prefix = "spring.flyway", name = "enabled", matchIfMissing = true)
@AutoConfigureAfter({ DataSourceAutoConfiguration.class, JdbcTemplateAutoConfiguration.class,
      HibernateJpaAutoConfiguration.class })
@Import({ FlywayEntityManagerFactoryDependsOnPostProcessor.class, FlywayJdbcOperationsDependsOnPostProcessor.class,
      FlywayNamedParameterJdbcOperationsDependencyConfiguration.class })
public class FlywayAutoConfiguration {
    ...
}

Use mvn spring-boot:run or java -jar app.jar运行应用程序

NB:还要检查迁移脚本是否在db/migration否则提供位置spring.flyway.locations财产

资源:

https://flywaydb.org/documentation/configuration/parameters/ https://flywaydb.org/documentation/configuration/parameters/

https://flywaydb.org/documentation/getstarted/firststeps/maven/ https://flywaydb.org/documentation/getstarted/firststeps/maven/

https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-execute-flyway-database-migrations-on-startup https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-execute-flyway-database-migrations-on-startup

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot FlywayException:无法连接到数据库。配置url、用户和密码 的相关文章

  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • 身份验证在 Spring Boot 1.5.2 和 Oauth2 中不起作用

    我正在使用带有 spring boot 1 5 2 RELEASE 的 Oauth2 当我尝试重写 ResourceServerConfigurerAdapter 类的配置方法时 它给了我一个编译错误 但这在 Spring boot 1 2
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 合并来自多个 spring-boot YAML 文件的列表

    是否可以组合使用 YAML 编写的多个 spring boot 配置文件中相同元素的列表 Example postgres yml包含我的 postgres 数据库信息 它还包含我的迁移脚本的飞行路径位置 flyway locations
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • 使用架构注册表对 avro 消息进行 Spring 云合约测试

    我正在查看 spring 文档和 spring github 我可以看到一些非常基本的内容examples https github com spring cloud samples spring cloud contract sample
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • QuerySyntaxException:无法找到类

    我正在使用 hql 生成 JunctionManagementListDto 类的实际 Java 对象 但我最终在控制台上出现以下异常 org hibernate hql internal ast QuerySyntaxException
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • Java EE 目录结构

    我对以下教程有疑问 http www mkyong com jsf2 jsf 2 internationalization example http www mkyong com jsf2 jsf 2 internationalizatio
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp
  • Spring表单ModelAttribute字段验证避免400 Bad Request错误

    我有一个ArticleFormModel包含正常发送的数据html form由 Spring 使用注入 ModelAttribute注释 即 RequestMapping value edit method RequestMethod PO

随机推荐

  • WebAPI 帮助页面 - 返回或参数模型/类属性的文档

    我正在使用 Web API 帮助页面和 Web API 2 5 0 都是最新的 Nuget 包 我希望帮助文档显示作为参数或在 HttpResponseMessage 正文中返回的类的属性的注释 例如 我有一个像这样的控制器方法 publi
  • 让gulp动态地将css写入与处理后的scss文件相同的目录中

    我希望编写 gulpfile js 扫描主题目录中的 style scss 文件 其想法是读取 style scss 文件并在同一目录中写入相应的 style css 和 min 文件 我遇到的问题是 在不确切知道目录是什么的情况下 我找不
  • 如何检查字符串是否仅包含拉丁字符?

    如何检查字符串是否包含 a zA Z 仅限字符 Example var str 123z56 不需要 jQuery if str match a z i alphabet letters found
  • 多维数组填充

    我正在尝试填充多维数组中的一个区域 但不确定该方法 例如我有以下数组 var map 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 0 0 0 2 0 0 0 0 2 0 0 0 2 0 2 0 0 2 0 0 0 2 0
  • Eclipse 2020-06 Javascript - 语法突出显示不起作用

    将我的 Eclipse IDE 更新到实际的 2020 06 版本后 JavaScript 的语法突出显示不再起作用 这是一个已知 常见问题吗 我该如何解决这个问题 在花了大半天的时间研究它 包括安装 Eclipse PDT 的新实例 后
  • 在受限用户帐户 XP 中运行时,C# 应用程序无法读取/写入管理员创建的文件

    我有一个可供所有用户 管理员或受限用户 在 NET 特别是 C 中使用的应用程序 当应用程序首次启动时 它会在 C Documents and Settings All Users Documents 中创建一些后续启动所需的文件 如果 X
  • 是否有用于生成 MOBI 电子书文档的 Java 或 Ruby 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Calibre 项目中有一个用于此目的的 Python 库 但我想找到一个可以从 Clojure 或 Ruby 使用的库 有任何想法吗 查
  • 生成图像并将其与其他内容一起显示在 JSP 中

    我正在使用 JFreeChart 根据用户输入生成动态图表 我有一个带有一些文本框和组合框的 JSP 用户输入并提交它 操作处理它 生成图表图像 我需要在文本框 组合框下方的同一个 JSP 上显示此图像 如果我使用response setC
  • 构建 VITE 应用程序时如何分配自定义 CSS 文件名?

    是否可以在VITE中构建并使用application name css or my site name css VITE 可以选择构建自定义 JS 文件 但不能构建自定义 CSS 或 SCSS 文件 用于导出 https vitejs de
  • 如何在 XCassets 中使用立方体纹理类型

    我正在尝试学习 SceneKit 开发并尝试在后台添加天空盒 为了存储立方体贴图纹理 我发现 XCAssets 有一个类型立方体纹理集 https developer apple com library archive documentat
  • 单向 SSL 是单向加密吗?

    如果使用 SSL 的一种方式 服务器证书身份验证 则从客户端发送的数据将使用服务器证书的公钥进行加密 因此客户端发送的数据可以得到隐私保护 我的问题是 这是否意味着从服务器发送到客户端的一种方式 SSL 数据未加密并以纯文本形式发送 对于服
  • JSF 中的线程?

    我是 JSF 新手 我需要使用 Threads 来处理 google 地图 我正在使用 primefaces 进行谷歌地图 但我需要在后台执行一个线程以从数据库获取纬度和经度 然后在地图中绘制标记 您的问题并非特定于 JSF 而是针对一般的
  • Facebook 页面插件无法正常工作

    我需要一个嵌入式 Facebook 页面插件 但是facebook的代码生成器不起作用 当我给出 facebook 页面的 url 时 生成器不会给出该页面的代码 预览模式下也不会出现该页面 脸书页面是 https www facebook
  • PE格式,IAT目录有什么用

    在 PE 格式中 我们有导入表目录 通过IMAGE DIRECTORY ENTRY IMPORT 和 IAT 目录 通过以下方式访问 IMAGE DIRECTORY ENTRY IAT 两者都是可选标头数据目录的一部分 使用导入表 加载器动
  • memcpy 溢出边界利用? (破坏堆栈)

    我试图弄清楚这是否会以某种方式溢出 void print address char p arp hw int i hw length size p OFFSET1 189 4 193 memcpy hw addr packet OFFSET
  • C++ 成员函数指针

    我正在用 C 做一个小游戏 我正在发现类成员函数指针 我不知道如何让它们以正确的方式工作 但这是我的尝试 A struct where the function pointer will be stored for the call By
  • django数据库同步以供离线使用

    我有一台主 django 服务器 用于存储数据 mysql 数据库 在线 我希望许多用户在他们的笔记本电脑上同步此数据库的副本 仅必须复制增量 sqlLite DB 离线 用户无权访问主服务器 用户可以查看和更新 其本地数据库 返回在线 用
  • 从受密码保护的 Excel 文件到 Python 对象

    我使用的是 Windows 7 Python 2 7 和 Microsoft Excel 2013 我知道从here https stackoverflow com questions 15285068 from password prot
  • Kotlin 中如何将 String 转换为 Int?

    我正在 Kotlin 中开发一个控制台应用程序 我在其中接受多个参数main 功能 fun main args Array
  • Spring Boot FlywayException:无法连接到数据库。配置url、用户和密码

    当我跑步时maven flyway migrate 我收到错误 无法执行目标 org flywaydb flyway maven plugin 6 5 5 migrate default cli 在项目 myProject 上 org fl