簡體   English   中英

春天:當Jar文件外部的屬性文件時,配置PropertyPlaceHolder

[英]Spring: Configure PropertyPlaceHolder when Property File outside Jar File

我有一個基於SPRING 2.5.6的項目,並且我的屬性文件在可執行的Jar文件外部,例如

./ |---MyApplication.Jar |---MyApplication.properties

我不知道如何配置PropertyPlaceholderConfigurer,以便它可以選擇JAR文件的文件特征,也可以通過其他方式使spring可以知道屬性文件的位置。 換句話說,如何將Jar根路徑放在類路徑中,因為spring可以自動從類路徑中選擇屬性文件。

我已經閱讀了以下問題,但是並沒有確切說明如何配置PropertyPlaceholderConfigurer。

在JAR文件之外讀取屬性文件

添加屬性文件以構建可運行jar的路徑

java -jar -cp。 ./main.jar我知道將根路徑添加到類路徑中的這種方式,但是我的客戶端不想通過命令行或批處理文件運行jar。 那么有沒有辦法以某種方式配置Spring?

我認為可能的解決方案是使JAVA基礎配置與xml基礎配置一起進行。

java -jar -cp . ./main.jar

更改運行命令。

解決方案-要獲取jar所在的目錄,可以使用spel。 以下內容將助您一臂之力。

  <context:property-placeholder location="file:///#{T(java.lang.Object. getClass().getProtectionDomain().getCodeSource().getLocation‌​())}/ application.properties"/>

您可以使用Maven或Gradle來管理您的項目,他可以幫助您自動添加依賴項,您不需要手動導入Jar包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM