[英]Unable to load application.properties on Hadoop jar (NullPointerException)
[英]Unable to load application.properties file
我應該在此處輸入什么路徑來加載此.properties
文件? 我似乎無法加載...
InputStream stream = ProductVersionService.class.getResourceAsStream("/application.properties");
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.