无法加载application.properties文件

时间:2013-09-06 19:53:22

标签: java

我应该在这里加载此.properties文件的路径是什么?我似乎无法加载......

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

enter image description here

5 个答案:

答案 0 :(得分:1)

您需要指定属性文件的完整路径,从根目录到文件本身:/main/resources/application.properties

答案 1 :(得分:1)

我可以看到,你正在使用Maven来构建这个项目,因此你的最终jar也不会有src / main / resource或src / main / java。将删除所有这些目录,并将其下的所有内容添加到jar的根目录,因此使用src / main / *引用路径将导致错误。你应该使用

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

由于您的properties文件将从war包中读取,因此最简单的解决方案是将其加载为ResourceBundle

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

答案 4 :(得分:0)

无需开发定制的东西。

如果你遵循Spring架构,你可以使用这个类:

org.springframework.core.io.support.PropertiesLoaderUtils