我有一个属性文件:默认包中的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。如何读取默认包中的属性文件?
答案 0 :(得分:0)
我假设您正在查找该文件的错误位置。 hibernate.properties
通常不会保存在部署的根目录中。打开.war文件并查找hibernate.properties
的位置。如果您将应用程序部署到localhost:8080/app1
,则需要调用/app1/
来访问部署的内容。