我在位置有一个属性文件(来自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
答案 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 项目,以便自动设置类路径