繁体   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