springboot配置文件讀取pom文件信息方式

配置文件讀取pom文件信息

解決的問題

springboot(當然別的也可以)多環境切換需要修改配置文件硬編碼,打包時不夠方便。

解決

配置文件能讀取pom文件中的配置,根據命令選擇不同配置註入springboot的配置文件中

pom配置文件:

<!-- 環境 -->
	<profiles>
		<!-- 開發 -->
		<profile>
			<id>dev</id>
			<activation>
				<!--默認激活配置,maven打包默認選用的配置-->
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<!--當前環境自定義配置,標簽名自定義-->
				<profile.name>dev</profile.name>
				<profile.baseUrl>http://localhost:5501</profile.baseUrl>
			</properties>
		</profile>
        
		<!-- 測試 -->
		<profile>
			<id>test</id>
			<properties>
				<!--當前環境-->
				<profile.name>test</profile.name>
				<profile.baseUrl>http://test.xxxx.com/xxx</profile.baseUrl>
			</properties>
		</profile>
		<!-- 生產 -->
		<profile>
			<id>prd</id>
			<properties>
				<!--當前環境,生產環境為空-->
				<profile.name>prd</profile.name>
				<profile.baseUrl>http://api.xxx.cn/xxx</profile.baseUrl>
			</properties>
		</profile>
	</profiles>

修改後的寫法

當然,別的配置項也能這樣寫,這樣寫的好處是隻需修改一處別的不用修改

maven打包命令

mvn clean package -Ptest 這樣就能打成測試環境的包瞭

可能會出現的一些問題

  • 占位符也可以這樣寫 @配置的key@,不建議這樣使用
  • 報@@ 解析錯誤,再次執行打包命令: mvn clean package -Ptest
  • 修改瞭pom文件中的配置,再次啟動項目環境沒有變化,因為ide啟動的是你之前的包所以你要重新使用打包命令打個新包

Pom文件依賴配置說明

1、groupId、artifactId、version是依賴的基本坐標,缺一不可,其它兩個坐標元素不指定時將采用默認值

  • type:依賴的類型,對應坐標packaging,默認為jar
  • optional:標記依賴是否可選,A->B->C,那麼當A依賴於C時就可以設為可選。
  • exclusions:排除傳遞依賴

scope 依賴范圍

  • compile:編譯范圍,默認scope,在classpath中存在
  • provided:已提供范圍,比如容器提供Servlet API
  • runtime:運行時范圍,編譯不需要,接口與實現分離
  • test:測試范圍,單元測試環境需要
  • system:系統范圍,自定義構件,指定systemPath
  • import:導入依賴

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: