I'm working on upgrading one of my applications from JSF 1.0 to 2.0. It runs on JBoss 4.0.3SP1 and I'm trying to make it run on WildFly 8.1 final. After some struggles, I was able to get the application compiled and deployed to WildFly but got this error, when accessing the .jsp file.
2015-07-09 07:40:08,600 ERROR [io.undertow.request] (default task-2) UT005022: Exception generating error page /errorpages/error.faces: org.apache.jasper.Jasper
Exception: JBWEB004113: **The absolute uri: http://java.sun.com/jsf/html cannot be resolved in either web.xml or the jar files deployed with this application** at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:53) [jastow-1.0.0.Final.jar:1.0.0.Final]
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:147) [jastow-1.0.0.Final.jar:1.0.0.Final]
I've read the following articles but still cannot fix the problem.
- JSF 1.2 on Wildfly 8 Final - weld-core-jsf is still referencing JSF 2.2 API
- Can not find the tag library descriptor for http://java.sun.com/jsf/facelets
- https://developer.jboss.org/wiki/StepsToAddAnyNewJSFImplementationOrVersionToWildFly
- https://developer.jboss.org/wiki/DesignOfWildFlyMulti-JSFFeature
I also enabled org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL
in web.xml and disabled "weld" in WildFly and I put the following libs/files in <EAR>/lib, <WAR>/WEB-INF/lib
.
- jsf-api.jar
- jsf-impl.jar
- jstl.jar
- standard.jar
- html_basic.tld, jsf_core.tld
And, for JSTL, I tried different URLs, like:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
or
<%@ taglib uri="http://java.sun.com/jsp/jstl/html" prefix="h"%>
or put the URL into <html>
instead of using <%@taglib>
.
However, the problem cannot be resolved by the above steps.
Is there anyone had the same problem can share some experience? I'd like to see if there is a possibility I can run the JSF 1.0 code on WildFly?
Thanks in advance!