一尘不染

Springboot不加载application.dev.properties文件

spring-boot

在我的项目中,我想使用特定于环境的属性文件。例如,如果我将其运行到开发中,则应使用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

我有一个像下面这样的课程

 public class DataSource {

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

上面的代码始终采用prod设置(application.properties)文件,即使我为dev这样的开发人员提供了适当的参数
--spring.profiles.active=dev

以下是我用来加载dev属性文件的命令。

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

它还打印活动配置文件是dev,但它始终连接到prod db。


阅读 1505

收藏
2020-05-30

共1个答案

一尘不染

我注意到了一些问题:

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