无法使用Web应用程序读取属性文件(使用JSF的Maven Web应用程序)

时间:2013-12-05 13:30:21

标签: jsf web-applications properties-file

我有一个属性文件:默认包中的hibernate.properties。我试图从另一个包里面的类中读取它:com.somepackage.SomeClass。

在普通桌面应用程序中,以下输入流正在运行:

InputStream is = getClass().getResourceAsStream("/hibernate.properties");

但是我的网络应用程序(使用Netbeans创建的maven Web应用程序,使用JSF 2.2作为依赖项)

我尝试了这些替代方案:

使用class:

getClass().getResourceAsStream("/hibernate.properties");

使用外部环境:

FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/hibernate.properties");

使用上下文类加载器:

Thread.currentThread().getContextClassLoader().getResourceAsStream("/hibernate.properties");

其中每个都返回null。如何读取默认包中的属性文件?

1 个答案:

答案 0 :(得分:0)

我假设您正在查找该文件的错误位置。 hibernate.properties通常不会保存在部署的根目录中。打开.war文件并查找hibernate.properties的位置。如果您将应用程序部署到localhost:8080/app1,则需要调用/app1/来访问部署的内容。