2016-10-15 69 views
10

我有application.ymlapplication-dev.ymlapplication-dev.yml如何使用Spring引导配置

  1. 我使用maven的命令mvn spring-boot:run -Dspring.profiles.active=dev它不工作,我不能选择使用mvn spring-boot:run dev的配置文件。我如何选择它?
  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

因此如何解决两个问题?谢谢〜

回答

0

您可以根据配置文件在一个application.properties(yml)(如here)中指定属性。然后 mvn clean spring-boot:run -Dspring.profiles.active=dev应该运行正确。它适用于我

13

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

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

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

http://docs.spring.io/spring-boot/docs/current/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系统属性来设置配置文件。

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

+0

感谢,你红粉应该是确定的方式,但我说我用'Java的罐子XXX.jar --spring.profiles.active = dev'到选择开发配置文件,控制台打印这么多的日志,并警告我永远不会看到使用'java -jar XXX.jar',并告诉我'应用程序失败开始“,但建立成功。 'mvn spring-boot:run -Drun.profiles = dev'和'java -jar -Dspring.profiles.active = dev XXX.jar'是一样的,''mvn spring-boot:run''和'java -jar'可以运行well.i意外打开调试模式? – twogoods

+0

顺序错误,'java -jar XXX.jar --spring.profiles.active = dev'确实没有**将配置文件设置为dev。你需要使用'java -jar -Dspring.profiles.active = dev XXX。jar' – francis

+0

我使用'java -jar -Dspring.profiles.active = dev XXX.jar'控制台打印许多日志,发出警告和调试,并且无法启动。 'java -jar XXX.jar --spring.profiles.active = dev'这个顺序是错误的,而且控制台打印很多日志,警告和调试,就像使用'java -jar -Dspring.profiles.active = dev XXX一样。 jar'.and我已经尝试在文档中快速入门,两个订单都可以选择配置文件.springboot版本是1.4.1 – twogoods

相关问题