我正在尝试加载位于src/main/resources/META-INF/resources/resources/
目录内的本地文件。该应用程序是一个基于连接面的应用程序,包括 myfaces、omnifaces 和 rewrite。在将我的项目(经典 JSF WAR)迁移到 joinfaces 之前,我通过提供文件的真实路径来做到这一点,如下所示:
FacesContext.getCurrentInstance().getExternalContext().getRealPath("/resources");
由于我的项目使用omnifacesgetExternalContext()
返回org.omnifaces.context.OmniExternalContext
,而整个表达式返回null。
如果我只是运行:
FacesContext.getCurrentInstance().getExternalContext().getRealPath("/")
它返回由嵌入式tomcat(即:)创建的临时目录的路径,该目录C:\Users\User\AppData\Local\Temp\tomcat-docbase.4856998207101083356.8443\
为空。
在这种情况下,我并不真正需要应用程序中包含的静态资源的绝对路径,这只是一种方法,但我仍然找不到实现此目的的方法,并且 joinfaces 文档很少。有任何想法吗?