Spring Boot 未加载 application.dev.properties 文件

Springboot not loading application.dev.properties file

在我的项目中,我想使用特定于环境的 属性 文件。例如,如果我 运行 它进入开发它应该使用 application.dev.properties,对于生产它应该使用 application.prod.properties 等等。

我的资源文件夹中有以下两个文件。

  1. application.properties(用于生产)
  2. application.dev.properties(用于开发)

我在每个文件中都有一个如下所示的属性。

对于产品

server.database.host=192.168.1.1

对于开发

server.database.host=192.168.12.125 

我有一个 class 如下所示

 public class DataSource {

     @Value(${server.database.host})
     String host;

上面的代码总是采用产品设置 (application.properties) 文件,即使我为开发人员提供了适当的参数,如 --spring.profiles.active=dev

下面是我用来加载开发属性文件的命令。

java -jar myjar.jar --spring.profiles.active=dev

它还打印出活动配置文件是 dev 但它始终连接到 prod 数据库。

我注意到的几个问题:

  1. @Value 属性 名字应该是 String@Value("${server.database.host}")
  2. 个人资料特定 属性 文件应遵循 application-{profile}.properties 格式,例如application-dev.properties
  3. 尝试传递带有 -D 的配置文件,例如 java -Dspring.profiles.active=dev -jar app.jar

如果在 Eclipse 或 STS 上 运行ning,则使用以下步骤:

  1. 右键单击项目 -> 运行 As -> 运行 配置。

  2. 在左侧的新 window、select spring 引导应用程序中,并在右侧和配置文件下拉列表中添加详细信息,select 开发者。

  3. 单击应用并运行。

尝试在 运行 配置中添加 vm 参数:

-Dspring.profiles.active=dev

您应该指定 运行 的配置文件,如下所示:

mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar

另请参阅文档:https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html