2012-05-09 5 views
8

up Wenn ich meine WAR-Datei in JBoss AS 7.1.1 einsetzen und rufenJBoss AS 7.1.1 Kommissionierung nicht meine JSF Implementierung

FacesContext.class.getPackage().getImplementationTitle() 

und

FacesContext.class.getPackage().getImplementationVersion() 

ich eine andere Version erhalten dann wenn ich es auf tomcat ausstelle.

JBoss: JSF Javaserver Faces-API 2.0.1.Final

Tomcat: JSF Mojarra 2.0.6-FCS

Es scheint JBoss ist nicht die richtigen JARs Kommissionierung, die ich in meinem WEB-INF\lib\ haben. Das verursacht ein anderes Verhalten auf meiner Website. Ich habe versucht, das Problem mit

<context-param> 
    <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name> 
    <param-value>true</param-value> 
</context-param> 

zu lösen, aber das hat nicht funktioniert. Ich lese Alternative JSF implementation with JBoss 71, aber anscheinend ist es nicht in 7.1.1 gelöst.

Ich habe jboss-deployment-structure.xml zu WEB-INF\ mit dem folgenden Inhalt hinzugefügt.

<jboss-deployment-structure> 
<deployment> 
    <exclusions> 
     <module name="javax.faces.api" slot="main"/> 
     <module name="com.sun.jsf-impl" slot="main"/> 
    </exclusions> 
    <dependencies> 
     <module name="org.apache.commons.logging" /> 
     <module name="org.apache.commons.collections" /> 
     <module name="org.apache.log4j" /> 
     <module name="org.dom4j" /> 
     <module name="javax.faces.api" slot="1.2"/> 
     <module name="com.sun.jsf-impl" slot="1.2"/> 
    </dependencies> 
    </deployment> 
</jboss-deployment-structure> 

Aber dann ist meine App nicht entfaltet und ich erhalte die folgenden Fehler in 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] 

Wie kann ich mein Problem zu lösen?

+0

Haben Sie JBoss 7.1-Standard-JSF-Dateien in der jboss-deployment-structure-Datei ausgeschlossen? – kosa

+0

Ich habe versucht, nicht sicher, wie, aber ich habe die folgende Datei jboss-deployment-structure.xml WEB-INF hinzugefügt \ Die Inhalte, die ich in meiner Nachricht oben bearbeitet. Aber es gibt einen Fehler (auch hinzugefügt, um meine Frage oben) – roel

Antwort

3

Könnte es noch etwas geben, das von der JSF API abhängt? Ich bin nicht sicher, warum es zwischen JBoss und Tomcat unterschiedlich sein würde, aber versuchen Sie, mvn Abhängigkeit zu laufen: Baum- und mvn Abhängigkeit: analysieren mit und ohne das JSF ausgeschlossen.

+0

Hallo, ich weiß nicht Maven (wir verwenden Ameisen, um unsere Projekte zu bauen (und bei der Entwicklung, verwenden wir nur Eclipse-Export) Wie und mit welcher Datei mache ich Was du sagst? – roel

+0

Entschuldigung, ich nahm an, du benutzt Maven, du würdest das gegen die pom.xml laufen lassen. Schau dir das [Jira] an (https://issues.jboss.org/browse/AS7-3940?page = com.atlassisch.jira.plugin.system.issuetabpanels: all-tabpanel), scheint dieses Problem nicht behoben bis 7.1.3 – gebuh

1

JBoss AS 7.1.1 ist standardmäßig mit JSF 2, aber abwärtskompatibel mit JSF 1.2.

hatte ich das gleiche Problem und löste es wie folgt: Ich habe die gleichen jboss-deployment-structure.xml wie Sie verwenden und addierte die folgenden Parameter in den web.xml:

<context-param> 
<param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name> 
<param-value>Mojarra-1.2</param-value> 
</context-param> 

Sie in der die JSF 1.2 JAR-Dateien nicht benötigen lib Verzeichnis (und somit der org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL Parameter wird in web.xml nicht benötigt).

Quelle: http://tapas-tanmoy-bose.blogspot.ch/2014/01/how-to-run-jsf-12-application-in-jboss.html

Ich vermute, JBoss AS 7.1.1 die ausgeschlossenen Module von jboss-deployment-structure.xml für JSF zu ignorieren (aber ich habe org.hibernate als ein weiteres ausgeschlossen Modul, das wirksam ausgeschlossen wird, was beweist, dass die jboss-deployment-structure.xml berücksichtigt wird) .