我有两个耳朵项目( projectA 和 projectB ),其中ejb和Web模块完全独立运行。两个项目都使用 primefaces 6.0 和 spark-layout 。
我的目标是将projectA集成到projectB中,以便projectA仍然可以独立运行,也可以作为projectB的一部分运行。
为此我添加了一个新模块( projectA-web-commons )并将src/main/webapp/resources/
文件夹与 projectA-web 中的所有内容一起移动到 projectA-web-commons src/main/resources/META-INF/resources
文件夹。
projectA-web 只在faces-config.xml
文件夹中留下了web.xml
和src/main/webapp/WEB-INF
。
我可以独立部署 projectA ,应用程序与以前一样好,但当我将 projectA-web-commons 添加到 projectB 时模块primefaces字体和图像资源没有加载。
从Chrome开发者工具我可以看到应用程序尝试加载,例如来自../projectB/fonts/...
而没有 projectA-web-commons 的字体资源资源从../projectB/javax.faces.resources/fonts...
加载
我做错了什么? 另外,我在两个项目中使用Omnifaces的UnmappedResourceHandler。不确定此ResourceHandler是否存在问题。
答案 0 :(得分:0)
我曾经遇到过同样的问题。它与Omnifaces的UnmappedResourceHandler有关。它使用以下行在子模块中的几个faces-config.xmls中声明:
<resource-handler>org.omnifaces.resourcehandler.UnmappedResourceHandler</resource-handler>
删除过时的后,它对我有用。