Spring Boot 应用程序未使用正确的 .properties 文件
Springboot application not using the correct .properties file
我有一个简单的 Springboot 应用程序,可以 运行 使用命令:./mvnw spring-boot:run
。如果我将 URI 放入我的数据库 application.properties
文件中,这就可以正常工作,但问题是该文件由 Heroku 使用,并不适合我在本地使用。
所以我遇到了一个 Whosebug 答案,它说我可以简单地制作另一个 .properties
文件并将其命名为 application-dev.properties
然后当我 运行 我的应用程序时,正确的 .properties
文件将在我将活动配置文件设置为 dev
时自动选择。
所以我尝试了以下操作:
- 使
application.properties
文件使用来自 Heroku 的环境变量,因为这是我不想在本地使用的 .properties
文件。
- 我创建了一个名为
application-dev.properties
的 .properties
文件,其中包含以下行:
spring.data.mongodb.uri=mongodb+srv://MY_NAME:MY_PASSWORD@springbootcluster.v1maw.mongodb.net/Employees?retryWrites=true&w=majority
- 我 运行 应用程序是这样的:
./mvnw spring-boot:run -Dspring.profiles.active=dev
- 该应用程序失败并出现大量不同的错误,因为它正在尝试使用
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
正在 运行ning Maven 的 JVM 中设置 spring.profiles.active
系统 属性,而不是 运行ning 您的应用程序的 JVM。要解决此问题,请使用 spring-boot.run.jvmArguments
系统 属性 配置用于 运行 您的应用程序的 JVM 参数:
./mwnw -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"
或者,有一个属性专门用于设置活动配置文件,它稍微更简洁:
./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
您可以在 relevant section of the reference documentation for Spring Boot's Maven plugin 中了解更多信息。
我有一个简单的 Springboot 应用程序,可以 运行 使用命令:./mvnw spring-boot:run
。如果我将 URI 放入我的数据库 application.properties
文件中,这就可以正常工作,但问题是该文件由 Heroku 使用,并不适合我在本地使用。
所以我遇到了一个 Whosebug 答案,它说我可以简单地制作另一个 .properties
文件并将其命名为 application-dev.properties
然后当我 运行 我的应用程序时,正确的 .properties
文件将在我将活动配置文件设置为 dev
时自动选择。
所以我尝试了以下操作:
- 使
application.properties
文件使用来自 Heroku 的环境变量,因为这是我不想在本地使用的.properties
文件。 - 我创建了一个名为
application-dev.properties
的.properties
文件,其中包含以下行:
spring.data.mongodb.uri=mongodb+srv://MY_NAME:MY_PASSWORD@springbootcluster.v1maw.mongodb.net/Employees?retryWrites=true&w=majority
- 我 运行 应用程序是这样的:
./mvnw spring-boot:run -Dspring.profiles.active=dev
- 该应用程序失败并出现大量不同的错误,因为它正在尝试使用
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
正在 运行ning Maven 的 JVM 中设置 spring.profiles.active
系统 属性,而不是 运行ning 您的应用程序的 JVM。要解决此问题,请使用 spring-boot.run.jvmArguments
系统 属性 配置用于 运行 您的应用程序的 JVM 参数:
./mwnw -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"
或者,有一个属性专门用于设置活动配置文件,它稍微更简洁:
./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
您可以在 relevant section of the reference documentation for Spring Boot's Maven plugin 中了解更多信息。