当前位置: 首页 > 知识库问答 >
问题:

Springboot未加载应用程序。dev.properties文件

蒋茂
2023-03-14

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

我有下面两个文件在我的资源文件夹。

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

我有一个属性像下面的每个文件。

为了刺激

server.database.host=192.168.1.1

给德夫

server.database.host=192.168.12.125 

我有一门课,如下所示

 html" target="_blank">public class DataSource {

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

上面的代码总是采用prod设置(application.properties)文件,尽管我为dev提供了适当的参数,比如--spring。个人资料。活动=开发

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

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

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

共有3个答案

东典
2023-03-14

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

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

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

陶寒
2023-03-14

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

-Dspring.profiles.active=dev
程鸿煊
2023-03-14

我注意到了几个问题:

  1. @Value属性名应该是字符串类似于@Value(${server.database.host}”)
 类似资料:
  • 我的React客户端的Dockerfile: 我的Express后端的Dockerfile: 我的码头工人。项目根目录中的yml文件: 我的服务器。我的后端文件夹下的js文件: 当我跑的时候: 我得到以下输出在我的终端: 我的后端以代码0退出,我无法加载我的应用程序。我的后端正在运行。 我做错了什么,如何让我的React-Express Node应用程序与Docker Comment一起运行?

  • 我正在将webapp中使用的spring框架版本从3.1.4升级到4.1.8。在新的Spring版本中,我们的一些单元测试失败了,因为@AutoWired不再工作。这是失败的测试之一: } 这是math-application-context文件: 我还尝试使用应用程序上下文加载bean,但失败了,出现了以下异常: 如果删除autowired字段,测试将失败,并且通过超类中的应用程序上下文加载的另

  • 嗨,我正在使用springboot 1.5.3。大摇大摆地释放。当我运行应用程序时,我可以通过访问“localhost:3030/v2/api文档”来访问json swagger响应。但我无法访问“localhost:3030/swagger ui.html”,同时显示未找到“/swagger ui.html”的映射。我如何解决这个问题。 依赖关系 招摇过市配置

  • 我正在使用一个spring启动应用程序,它运行我的src/main/resources/config/application。yml。 当我通过以下方式运行测试用例时: 测试代码仍在运行我的应用程序。要加载属性的yml文件。我想知道是否有可能再运行一个*。运行测试用例时的yml文件。

  • 我有几个Spring Boot应用程序。所有这些都是maven项目,在所有这些项目中,我有不同环境的单独配置文件,如application.properties、application-dev.properties、application-uat.properties.当我从IDE运行应用程序时,它有时会从application.properties文件,有时application-dev.pro