当我在 Tomcat 服务器上运行我的项目时,它显示此错误:
加载主题时出错,找不到“primefaces-start”库的“theme.css”资源
这是堆栈跟踪:
javax.servlet.ServletException: Error loading theme, cannot find "theme.css" resource of "primefaces-start" library
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
root cause
javax.faces.FacesException: Error loading theme, cannot find "theme.css" resource of "primefaces-start" library
org.primefaces.renderkit.HeadRenderer.encodeTheme(HeadRenderer.java:130)
org.primefaces.renderkit.HeadRenderer.encodeBegin(HeadRenderer.java:92)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:824)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1641)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
这是怎么造成的,如何解决?
这仅意味着
primefaces-start
主题未安装在网络应用程序中。
根据 PrimeFaces 主题主页,您需要通过额外的 Maven
pom.xml
条目安装它,或者如果您不使用 Maven,则可以从 Maven 中的 PrimeFaces 存储库手动下载主题 JAR 文件。
PrimeFaces 启动主题可在此处获取,当前最新版本是1.0.10。因此,只需抓住那边的 JAR,即 start-1.0.10.jar,然后按照通常的方式将其放入 /WEB-INF/lib
文件夹中即可。
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.1</version>
</dependency>
WebContent/WEB-INF/lib
<repositories>
<repository>
<id>primefaces</id>
<name>PrimeFaces Maven Repository</name>
<layout>default</layout>
<url>http://repository.primefaces.org</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>