2012-05-09 9 views
8

Quando schiero il mio file .war in JBoss AS 7.1.1 e chiamoJBoss AS 7.1.1 non far salire la mia implementazione JSF

FacesContext.class.getPackage().getImplementationTitle() 

e

FacesContext.class.getPackage().getImplementationVersion() 

ottengo una versione diversa, allora quando lo distribuisco su tomcat.

JBoss: JSF JavaServer Faces API 2.0.1.Final

Tomcat: JSF Mojarra 2.0.6-FCS

Sembra JBoss non è in ripresa le JAR corretti che ho nella mia WEB-INF\lib\. Ciò provoca un comportamento diverso nel mio sito web. Ho cercato di risolvere il problema con

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

Ma che non ha funzionato. Ho letto Alternative JSF implementation with JBoss 71 ma a quanto pare non è risolto in 7.1.1.

Ho aggiunto jboss-deployment-structure.xml a WEB-INF\ con il seguente contenuto.

<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> 

Ma poi la mia applicazione non viene distribuito e ottengo i seguenti errori nel 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] 

Come posso risolvere il mio problema?

+0

Hai escluso i jas JSF JBoss 7.1 nel file jboss-deployment-structure? – kosa

+0

Ho provato, non so come, ma ho aggiunto il seguente file jboss-deployment-structure.xml a WEB-INF \ I contenuti che ho modificato nel mio messaggio sopra. Ma dà un errore (lo ho aggiunto anche alla mia domanda sopra) – roel

risposta

3

Potrebbe esserci qualcos'altro che dipende dall'API JSF? Non sono sicuro del motivo per cui sarebbe diverso tra JBoss e Tomcat, ma prova a eseguire la dipendenza da mvn: dipendenza da albero e mvn: analisi con e senza JSF escluso.

+0

Ciao, non conosco Maven (usiamo formica per costruire i nostri progetti (e quando lo sviluppiamo, usiamo l'esportazione di eclipse) Come e con quale file faccio cosa stai dicendo? – roel

+0

scusa, ho pensato che tu avessi usato Maven, lo avresti eseguito contro il pom.xml. Dai un'occhiata a questo [Jira] (https://issues.jboss.org/browse/AS7-3940?page = com.atlassian.jira.plugin.system.issuetabpanels: all-tabpanel), sembra che questo problema non sia stato risolto fino alla 7.1.3 – gebuh

1

JBoss AS 7.1.1 è di default con JSF 2, ma è retrocompatibile con JSF 1.2.

Ho avuto lo stesso problema e risolto come segue: ho usato lo stesso jboss-deployment-structure.xml come si e aggiunto il seguente parametro nella web.xml:

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

Non è necessario il JSF 1.2 JAR nel lib directory (e quindi il parametro org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL non è necessario in web.xml).

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

ho il sospetto JBoss AS 7.1.1 di ignorare i moduli esclusi della jboss-deployment-structure.xml per JSF (ma non ho org.hibernate come un altro modulo escluso che è effettivamente esclusa, dimostrando che il jboss-deployment-structure.xml viene presa in considerazione) .

Problemi correlati