如何使用 Spring Boot 配置文件

新手上路,请多包涵

我有 application.ymlapplication-dev.ymlapplication-dev.yml

  1. 我正在使用 maven 命令 mvn spring-boot:run -Dspring.profiles.active=dev 它不起作用,我无法使用 mvn spring-boot:run 选择开发配置文件。我该如何选择它?
  2. 文档说 java -jar XXX.jar --spring.profiles.active=dev 有效,我尝试了 -Dspring.profiles.active=dev 但它不起作用。在我的项目中,我使用 java -jar XXX.jar 它运行,但是如果我使用 java -jar XXX.jar --spring.profiles.active=dev 来选择开发配置文件,控制台会打印很多日志并警告我从未见过使用过的 java -jar XXX.jar ,告诉我 APPLICATION FAILED TO START

那么如何解决两个问题呢?谢谢~

原文由 twogoods 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 604
1 个回答

我不确定我是否完全理解这个问题,但我会尝试通过提供有关 Spring Boot 中的配置文件的一些详细信息来回答。

对于您的 #1 示例,根据文档,您可以使用 -Drun.profiles 使用 Spring Boot Maven 插件选择配置文件。

Edit : For Spring Boot 2.0+ run has been renamed to spring-boot.run and run.profiles has been renamed to spring-boot.run.profiles

 mvn spring-boot:run -Dspring-boot.run.profiles=dev

https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/maven-plugin/examples/run-profiles.html

在您的 #2 示例中,您在 jar 名称之后定义活动配置文件。您需要在运行的 jar 名称之前提供 JVM 参数。

 java -jar -Dspring.profiles.active=dev XXX.jar

基本信息:

您提到您同时拥有 application.ymlapplication-dev.yml 。使用 dev 配置文件运行实际上将加载 两个 配置文件。来自 application-dev.yml 的值将覆盖 application.yml 提供的相同值,但来自两个 yml 文件的值将被加载。

还有多种方法可以定义活动配置文件。

您可以像以前那样定义它们,在运行 jar 时使用 -Dspring.profiles.active 。您还可以使用 SPRING_PROFILES_ACTIVE 环境变量或 spring.profiles.active 系统属性来设置配置文件。

更多信息可以在这里找到: https ://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-set-active-spring-profiles

原文由 francis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题