Когда я развертываю свой файл .war в JBoss AS 7.1.1 и вызываю
FacesContext.class.getPackage().getImplementationTitle()
и
FacesContext.class.getPackage().getImplementationVersion()
, я получаю другую версию, чем при развертывании на Tomcat.
JBoss: JSF JavaServer Faces API 2.0.1.Final
Tomcat: JSF Mojarra 2.0.6-FCS
Кажется, JBoss не выбирает правильные JAR-файлы, которые у меня есть в моем WEB-INF\ библиотека\
.
Это вызывает различное поведение на моем сайте.
Я пытался решить проблему с помощью
org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL
true
, но это не сработало. Я читал Альтернативная реализация JSF с JBoss 71, но, видимо, она не решена в 7.1.1.
Я добавил jboss-deployment-structure.xml
в WEB-INF\
со следующим содержимым.
Но тогда мое приложение не развернуто, и я получаю следующие ошибки в server.log
:
14:06:14,733 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-4) Critical error during deployment: : com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Class org.jboss.as.web.deployment.jsf.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357) [jsf-impl.jar:2.0.6-FCS]
Как решить мою проблему?