Я работаю над обновлением одного из своих приложений с JSF 1.0 до 2.0. Он работает на JBoss 4.0.3SP1, и я пытаюсь запустить его на финальной версии WildFly 8.1. После некоторых усилий мне удалось скомпилировать и развернуть приложение в WildFly, но я получил эту ошибку при доступе к файлу .jsp.
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]
Я прочитал следующие статьи, но до сих пор не могу решить проблему.
- JSF 1.2 в Wildfly 8 Final — Weld-core-jsf по-прежнему ссылается на JSF 2.2 API
- https://stackoverflow.com/questions/6322127/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
Я также включил org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL
в web.xml и отключил «сварку» в WildFly и поместил следующие библиотеки/файлы в <EAR>/lib, <WAR>/WEB-INF/lib
.
- jsf-api.jar
- jsf-импл.jar
- jstl.jar
- стандарт.jar
- html_basic.tld, jsf_core.tld
И для JSTL я пробовал разные URL-адреса, например:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
or
<%@ taglib uri="http://java.sun.com/jsp/jstl/html" prefix="h"%>
или поместите URL-адрес в <html>
вместо использования <%@taglib>
.
Тем не менее, проблема не может быть решена вышеуказанными шагами.
Может у кого была такая же проблема, поделитесь опытом? Я хотел бы узнать, могу ли я запустить код JSF 1.0 на WildFly?
Заранее спасибо!