首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Spring配置文件

如何使用Spring配置文件
EN

Stack Overflow用户
提问于 2016-10-15 15:39:09
回答 13查看 213.2K关注 0票数 112

我有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选择dev配置文件,控制台打印那么多日志并警告我从未见过已使用的java -jar XXX.jar,并告诉我APPLICATION FAILED TO START

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

EN

回答 13

Stack Overflow用户

发布于 2016-10-15 16:01:49

我不确定我是否完全理解这个问题,但我将尝试通过提供关于Spring中的概要文件的一些细节来回答这个问题。

对于您的第一个示例,可以根据文档使用Spring插件使用-Drun.profiles选择配置文件。

编辑:2.0+ run已改名为spring-boot.runrun.profiles已改名为spring-boot.run.profiles

代码语言:javascript
运行
复制
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

从第二个示例中,您将在jar名称之后定义活动概要文件。您需要在运行的jar名称之前提供JVM参数。

代码语言:javascript
运行
复制
java -jar -Dspring.profiles.active=dev XXX.jar

一般信息:

您提到您同时拥有一个application.yml和一个application-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

票数 183
EN

Stack Overflow用户

发布于 2018-05-03 14:00:15

如果您正在使用插件,请运行:

代码语言:javascript
运行
复制
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar

(https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html)

票数 47
EN

Stack Overflow用户

发布于 2020-11-16 07:32:23

自春季起启动v2+

下面的备选方案适用于SpringBootv2.0.0和更新版本。

与Spring插件

您可以提供这样的命令行参数

mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=dev"

您可以提供这样的JVM参数

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"

java -jar

java -Dspring.profiles.active=dev -jar app.jar (VM param)

java -jar app.jar --spring.profiles.active=dev (程序param)

--关于Windows 的一个注记

Powershell将需要像这里所示的那样用双引号换行,否则会导致错误,因为它解释句点:java -D"spring.profiles.active=dev" -jar app.jar

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40060989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档