我在位置有一个属性文件(来自eclipse火星项目资源管理器)

时间:2018-02-01 10:53:04

标签: java ejb-3.0 properties-file

我在位置有一个属性文件(来自eclipse mars项目资源管理器):

-MyTest(EJB PROJECT)
+EJBMODULE
+Source Packages
-Resource
    +Config.properties     <---- Here it is

    .....
    ....

现在,当我尝试使用代码

查找此文件时
prop = new Properties();
try {
       prop.load(this.getClass().getResourceAsStream("/config.properties"));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

抛出java.lang.NullPointerException

2 个答案:

答案 0 :(得分:0)

问题在于,在所有平台中,只有Windows操作系统不区分大小写。在jar / ear / war中,所有路径都区分大小写:

prop.load(this.getClass().getResourceAsStream("/Config.properties"));

你是C?

答案 1 :(得分:0)

prop.load(this.getClass().getResourceAsStream("/config.properties"));

此构造在应用程序 ClassPath 中查找资源。

如果您将资源与项目中的*.java文件分开,则必须配置 IDE ,以便将资源的根文件夹添加到应用程序 ClassPath 在运行时(特别是在eclipse中,这意味着ProjectRoot/Resource的内容将与ProjectRoot/bin文件一起复制到*.class

然而

我建议您关注maven standard project directory layout并将项目转换为 maven greadle 项目,以便自动设置类路径