thetunisianjob
thetunisianjob

Reputation: 21

java.lang.UnsupportedOperationException at javax.faces.application.Application.getResourceHandler

I'm working on a web project with Hibernate, Spring and JSF. When I run the project, I get the following exception:

Servlet.service() for servlet Faces Servlet threw exception
java.lang.UnsupportedOperationException
    at javax.faces.application.Application.getResourceHandler(Application.java:286)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:307)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

How is this caused and how can I solve it?

Upvotes: 2

Views: 9430

Answers (1)

BalusC
BalusC

Reputation: 1108722

This problem is caused because the JSF implementation suitable to the JSF API is absent in the runtime classpath. The solution is to put the JSF implementation JAR file in the runtime classpath.

In other words, you have a /WEB-INF/lib/jsf-api.jar file, but not a /WEB-INF/lib/jsf-impl.jar file, at least not of the same version as the JSF API JAR file. You need to make sure that you supply one, at least of the proper version.

Upvotes: 5

Related Questions