Spring boot Springboot未加载application.dev.properties文件

Spring boot Springboot未加载application.dev.properties文件,spring-boot,spring-boot-maven-plugin,Spring Boot,Spring Boot Maven Plugin,在我的项目中,我想使用特定于环境的属性文件。例如,如果我在开发中运行它,它应该使用application.dev.properties,对于生产,它应该使用application.prod.properties等等 我的资源文件夹中有以下两个文件 应用程序属性(用于生产) application.dev.properties(用于开发) 我在每个文件中都有一个类似于下面的属性 为了刺激 server.database.host=192.168.1.1 对于开发人员 server.databas

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

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

  • 应用程序属性(用于生产)
  • 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。

    我注意到了一些问题:

  • @Value
    属性名称应该是类似
    @Value(${server.database.host})的
    字符串
  • 配置文件特定的属性文件应遵循
    application-{Profile}.properties
    格式,例如
    application-dev.properties
  • 尝试使用
    -D
    传递配置文件,如
    java-Dspring.profiles.active=dev-jar-app.jar

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

  • 右键单击项目->运行方式->运行配置

  • 在新窗口中,选择左侧的spring boot application,并在右侧添加详细信息,在profile下拉列表中选择dev。

  • 单击应用并运行


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

    -Dspring.profiles.active=dev
    

    您应该指定要使用的配置文件,如下所示:

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

    另请参阅文档:

    嘿,谢谢。。我按照您的建议更改了属性文件名,然后您在步骤3中建议的命令运行良好。。非常感谢你。。!这似乎不再适用于Springboot2.0。