如何在Web应用程序中读取属性文件?

罗马:

属性文件的位置为WEB-INF/classes/auth.properties

我不能使用JSF特定的方式(通过ExternalContext),因为我需要服务模块中的属性文件,该文件不依赖于Web模块。

我已经试过了

MyService.class.getClassLoader().getResourceAsStream("/WEB-INF/classes/auth.properties");

但它返回null

我也尝试阅读它,FileInputStream但是它需要完整的路径,这是不可接受的。

有任何想法吗?

BalusC:

几点注意事项:

  1. 您应该更喜欢由ClassLoader返回的Thread#getContextClassLoader()

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    

    这将返回可以访问所有资源的最父类加载器Class#getClassLoader()会只返回类的(子)类加载器中可能本身并不访问所需的资源问题。它始终将在具有单个类加载器的环境中工作,而并非总是在具有复杂的类加载器层次结构(如webapps)的环境中工作。

  2. /WEB-INF文件夹不在类路径的根目录中。/WEB-INF/classes文件夹是。因此,您需要加载与此相对的属性文件。

    classLoader.getResourceAsStream("/auth.properties");
    

    如果您选择使用Thread#getContextClassLoader(),请删除前导/

ExternalContext#getResourceAsStream()使用ServletContext#getResourceAsStream()“幕后” 的特定于JSF的资源仅从Web内容(/WEB-INF文件夹所在的位置)返回资源,而不从类路径返回资源

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java Web应用程序中读取属性文件

如何在Micronaut中读取应用程序属性?

如何在Web应用程序中预览EML文件?

如何在Azure Web应用程序的本地开发中通过IConfiguration对象读取关键文件库机密

读取项目目录以获取Java Web应用程序中的属性文件

如何在Java-Web Start应用程序上读取Excel文件

应用程序如何在 Documents 文件夹中写入和读取文件?

如何在Spring Boot应用程序中的静态字段上读取属性?

如何在Android应用程序中读取大型Excel文件?

如何在Lync Silverlight应用程序中读取/写入本地文件?

如何在 webix 应用程序中读取和查看光盘文件

如何在 Dart 控制台应用程序中读取 JSON 文件?

如何在应用程序目录中快速读取文件数据?

如何在 macOS 应用程序中从文件系统读取图像

如何在Windows Universal应用程序中读取文本文件

如何在我的 Ruby on Rails 应用程序中读取 JS 文件?

如何在Spring MVC应用程序中显示JSP中属性文件中的值

无法在Spring Web应用程序中打开属性文件

如何在我的Google Web Engine Web应用程序中包含php.ini文件?

应用程序如何从我的缓存目录中读取文件?

如何读取应用程序中包含的数据文件

如何使Shiny应用程序从文件中连续读取?

如何在应用程序中读取Localizable.strings

如何在 Web 应用程序中读取另一个驱动器上的目录中的文件列表?

如何在Web应用程序中查找log4j2的属性参数?

如何在Spring JPA Web应用程序中设置一些Hibernate属性?

如何在Web应用程序的文件夹中的网页中填充下拉列表?

如何在Spring Boot应用程序的application.properties文件中设置MyBatis配置属性?

如何在Spring Boot应用程序中使用配置(properties / yml)文件中的属性?