2016-10-15 66 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

相關問題