在Apache Tomcat上部署时无法访问属性文件

时间:2013-03-08 17:46:52

标签: spring war web-inf

我使用了我的user.properties文件来访问存储在WEB-INF文件夹中的数据库。它在通过GGTS(Groovy Grail Tool Suite)运行时正常工作。

我用过

Properties prop = new Properties();
prop.load(DataSource.class.getClassLoader().getResourceAsStream("user.properties"));
DataSource中的

当我以独立方式运行时,它正在工作

但是当我创建war文件并将其部署到tomcat服务器上时,它无法正常工作。

我的user.properties位于WEB-INF文件夹中。

显示错误

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pluginManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException

谢谢你。请帮忙

2 个答案:

答案 0 :(得分:2)

您正在使用类加载器加载文件。但WEB-INF在类路径中WEB-INF/classes位于类路径中,以及WEB-INF/lib目录中的每个jar。

答案 1 :(得分:2)

那就是因为,user.properties不在Web应用程序类路径中。

<强>解决方案

  • 在构建战争时将user.properties移至WEB-INF/classes文件夹