回顧一下在本章的 「 快速入門 」 小節中, 咱們還介紹瞭如何啓動SpringBoot應用, 其中提到了使用命令java -jar 來啓動的方式。 該命令除了啓動應用以外, 還能夠在命令行中指定應用的參數, 好比java -jar xxx.jar --server.par七= 8888, 直接以命令行的方式來設置server.port屬性, 並將啓動應用的端口設爲8888java
在用命令行方式 啓 動 Spring Boot 應用時, 連續的兩個減號--就 是對application.properties 中的屬性值進行賦值 的標識。因此 , java -jar xxx.jar--server.por七=8888命令, 等價於在 application.properties中添加屬性server.port= 8888。redis
同理,咱們在操做redis的時,也會經過命令來設置屬性。spring
對於多環境的配置,各類項目構建工具或是框架的基本思路是 一致的, 經過配置多不一樣環境的配置文件,再經過打包命令指定須要打包的內容以後進行區分打包,SpringBoot
也不 例外, 或者說實現起來更加簡單。在 Spring Boot 中, 多環境配置的文件名須要知足 application-{profile}.proper巨es的格式, 其中{profile}對應你的環境標識, 以下所示。app
• application-dev.properties: 開發環境。框架
• application-test.properties: 測試環境。ide
• application-prod.properties: 生產環境工具
至於具體哪一個配置文件會被加載, 須要在 app巨ca巨on.properties 文件中經過spring.profiles.active 屬性來設置, 其 值 對應配置文件中的{profile}值。spring.profiles.active= test就會加載 app巨ca巨on士est.proper巨es配置文件內容。測試
下面, 以不一樣環境配置不一樣的服務端口爲例, 進行樣例實驗。
• 針對各環 境新建不一樣的配置文件 application-dev.properties、application-test.properties、 application-prod.properties。
• 在這三個文件中均設置不一樣的 server.port屬性, 例如, dev環境設置爲1111,test環境設置爲2222, prod環境設置爲3333。
• application.properties中設置 spring.profiles.active= dev, 意爲默認以dev環境設置。
• 測試不一樣配置的加載。ui
能夠經過在jar包外部設置配置文件,讓項目啓動時讀取jar包外的配置文件。經過這樣的實現,咱們的工程在配置中就變得很是乾淨,只需在本地放置開發須要的配置便可,而不用關心其餘環境的配置,由其對應環境的負責人去維護便可。this
項目右鍵 1.Run AS---Maven clean 2.Run AS---Maven intall
出現報錯:
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
可是 project裏Clean一下項目,項目Run As--- spring boot App 又能夠啓動?
緣由是
項目右鍵,build path裏,查看JD版本,使用的地址是jre文件路徑,仍是jdk的文件路徑,我改爲JDK的就行了。
生成的jar包會放在workspace的項目中,target目錄下
E:\ide\workspace\sc-demo1\target
jar包所在目錄下,執行控制檯命令:java -jar xxx.jar
看到項目啓動。