簡體   English   中英

無法加載application.properties文件

[英]Unable to load application.properties file

我應該在此處輸入什么路徑來加載此.properties文件? 我似乎無法加載...

InputStream stream = ProductVersionService.class.getResourceAsStream("/application.p‌​roperties");
properties.load(stream);

在此處輸入圖片說明

您需要指定從根到文件本身的屬性文件的完整路徑: /main/resources/application.properties

我可以看到,您正在使用Maven來構建此項目,因此您的最終jar將不會具有src / main / resource或src / main / java。 所有這些目錄將被刪除,其下的所有內容都將添加到jar的根目錄,因此使用src / main / *引用路徑將導致錯誤。 你應該利用

Thread.currentThread().getContextClassLoader().getResourceAsStream("application.properties")

Properties prop = new Properties();
prop.load(PropertiesUtil.class.getClassLoader().getResourceAsStream("/main/resources/application.properties"));

由於您的properties文件將從war包中讀取,因此最簡單的解決方案是將它們作為ResourceBundle加載:

ResourceBundle resourceBundle = ResourceBundle.getBundle("main.resources.application");
String prop = resourceBundle.getString("nameofproperty");
System.out.println(prop);

無需開發定制的東西。

如果您遵循Spring體系結構,則可以使用此類:

org.springframework.core.io.support.PropertiesLoaderUtils

暫無
暫無

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

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