无法从Java类访问属性文件

时间:2015-04-26 11:30:29

标签: java jsp servlets properties

我正在使用servlet,jsp和java类构建Web应用程序。

这里是java结构

project structure

我想访问system.properties文件,因为该文件正在存储项目配置。

我所做的是使用此代码

使用FileInputStream获取文件
/* generate the properties file objects */
Properties prop = new Properties();

/* generate IO to read from properties file */
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("system.properties");
if (inputStream != null) {
/* load the properties file */
    prop.load(inputStream);

将文件中的所有变量放入对象

host = prop.getProperty("host");

但它显示错误nullpointerexception,因为我知道未加载属性文件中的参数。

Apr 26, 2015 7:21:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [com.domain.servlet.TotalErrorSummaryServlet] in context with path [/MonitoringDashboard] threw exception
java.lang.NullPointerException

有关编辑system.properties文件的加载程序的建议吗?当我把文件放在WEB-INF文件夹中时。

1 个答案:

答案 0 :(得分:0)

我只能想到一件事,那就是你没有把你的属性文件放在你的类路径中,以检查是否将一些日志放在if语句中,如下所示:

if (inputStream != null) {
    //some logs here 
    prop.load(inputStream);
}
else {
    //and some logs here 
}

您可以看到您的输入流为空且没有任何内容加载到prop,因为我看到您正在使用eclipse所以请使用this answer