3

I would like to upgrade to JSF 2.3 on an Jboss EAP 7.

I followed this guide:

https://docs.jboss.org/author/display/WFLY10/JSF+Configuration#JSFConfiguration-ConfiguringaJSFapptouseanondefaultJSFimplementation

I splitted the JSF 2.3 jar following this guide:

How to install one jar variant of JSF (javax.faces.jar) on WildFly

However, when I start EAP 7 I get this error:

2017-04-30 12:55:00,280 WARN  (JSFDependencyProcessor.java:75) = WFLYJSF0005: Unknown JSF version 'mojarra-2.3.0'.  Default version 'mojarra-2.3.0' will be used instead.
2017-04-30 12:55:00,281 ERROR (ServiceControllerImpl.java:1955) = MSC000001: Failed to start service jboss.deployment.unit."monitoring.war".DEPENDENCIES: org.jboss.msc.service.StartException in service jboss.deployment.unit."monitoring.war".DEPENDENCIES: WFLYSRV0153: Failed to process phase DEPENDENCIES of deployment "monitoring.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJSF0014: Default JSF implementation slot 'mojarra-2.3.0' is invalid
    at org.jboss.as.jsf.deployment.JSFDependencyProcessor.deploy(JSFDependencyProcessor.java:80)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
    ... 5 more

Does anybody successfully upgraded EAP 7 to JSF 2.3?

4

1 回答 1

3

我误读了放置所有需要的罐子的地方,这是一个错误。

例如,javax.faces.api我放在文件夹中的模块:

EAP_HOME/modules/system/layers/base/javax/faces/api/JSF_IMPL

相反,它需要去:

EAP_HOME/modules/javax/faces/api/JSF_IMPL.

它在指南中是这样指定的,但是对于其他模块(Oracle JDBC 驱动程序...),我需要将内容直接放在基本文件夹下。显然,对于 JSF,这需要位于模块文件夹的根目录中......

现在它已正确加载,并且当我使用LOG.info(FacesContext.class.getPackage().getImplementationVersion());它时会打印2017-05-02 08:59:47,872 INFO (Web.java:66) = 2.3.0

于 2017-05-02T06:55:37.960 回答