gpt4 book ai didi

java - Spring Boot 应用程序未使用正确的 .properties 文件

转载 作者:行者123 更新时间:2023-12-04 14:03:22 24 4
gpt4 key购买 nike

我有一个简单的 Springboot 应用程序,可以使用以下命令运行:./mvnw spring-boot:run。如果我将 URI 放入我的数据库的 application.properties 文件中,这就可以正常工作,但问题是该文件由 Heroku 使用,并不适合我在本地使用。

所以我遇到了一个 Stackoverflow 答案,它说我可以简单地制作另一个 .properties 文件并将其命名为 application-dev.properties 然后当我运行我的应用程序时,当我将 Activity 配置文件设置为 dev 时,将自动选择正确的 .properties 文件。

所以我尝试了以下操作:

  1. 使 application.properties 文件使用来自 Heroku 的环境变量,因为这是我不想在本地使用的 .properties 文件。
  2. 我创建了一个名为 application-dev.properties.properties 文件,其中包含以下行:
spring.data.mongodb.uri=mongodb+srv://MY_NAME:MY_PASSWORD@springbootcluster.v1maw.mongodb.net/Employees?retryWrites=true&w=majority
  1. 我这样运行应用程序:./mvnw spring-boot:run -Dspring.profiles.active=dev
  2. 应用程序失败并出现大量不同的错误,因为它正在尝试使用 application.properties 文件而不是 application-dev.properties 文件

部分错误信息:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'employeeController': Unsatisfied dependency expressed through field 'employeeRepo';

ERROR MESSAGES

最佳答案

-Dspring.profiles.active 正在运行 Maven 的 JVM 中设置 spring.profiles.active 系统属性,而不是运行您的应用程序的 JVM。要解决此问题,请使用 spring-boot.run.jvmArguments 系统属性来配置用于运行应用程序的 JVM 的参数:

./mwnw -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"

或者,有一个属性专门用于设置 Activity 配置文件,它稍微更简洁:

./mvnw spring-boot:run -Dspring-boot.run.profiles=dev

您可以在 relevant section of the reference documentation for Spring Boot's Maven plugin 中了解更多信息.

关于java - Spring Boot 应用程序未使用正确的 .properties 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69284451/

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