Тег с именем passThroughAttribute из пространства имен http://xmlns.jcp.org/jsf/core имеет нулевой класс обработчика

Я пытаюсь использовать JSF 2.2.2 на Jboss 7.1.1.Final я следил за решением 1 по этой ссылке: http://www.mastertheboss.com/jsf/installing-jsf-22-on-jboss-as-7 основанный на замене существующих jsf-библиотек jboss и после этого я изменил конфигурацию лиц. но при попытке запустить приложение я получаю следующее исключение:

22:28:56,076 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-1) Critical error during deployment: : com.sun.faces.config.ConfigurationException: The tag named passThroughAttribute from namespace http://xmlns.jcp.org/jsf/core has a null handler-class defined
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:422) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:378) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:321) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:270) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:437) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214) [jsf-impl-2.2.2.jar:2.2.2]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]

22:28:56,080 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/motivosity]] (MSC service thread 1-1) Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: The tag named passThroughAttribute from namespace http://xmlns.jcp.org/jsf/core has a null handler-class defined
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:273) [jsf-impl-2.2.2.jar:2.2.2]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]
Caused by: com.sun.faces.config.ConfigurationException: The tag named passThroughAttribute from namespace http://xmlns.jcp.org/jsf/core has a null handler-class defined
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:422) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:378) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:321) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:270) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:437) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214) [jsf-impl-2.2.2.jar:2.2.2]
    ... 8 more

22:28:56,087 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Error listenerStart
22:28:56,088 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Context [/motivosity] startup failed due to previous errors
22:28:56,089 SEVERE [javax.faces] (MSC service thread 1-1) Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory. Attempting to find backup.
22:28:56,090 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-1) Unexpected exception when attempting to tear down the Mojarra runtime: java.lang.IllegalStateException: Could not find backup for factory javax.faces.application.ApplicationFactory. 
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1135) [jsf-api-2.2.2.jar:2.2]
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379) [jsf-api-2.2.2.jar:2.2]
    at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:140) [jsf-impl-2.2.2.jar:2.2.2]
    at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:310) [jsf-impl-2.2.2.jar:2.2.2]
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3489) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3999) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3917) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]

22:28:56,095 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/motivosity]] (MSC service thread 1-1) Cleaning up Shiro Environment
22:28:56,099 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.web.deployment.default-host./motivosity: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./motivosity: JBAS018040: Failed to start context
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:95)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]

я удалил конфигурацию для jsf в фасетках проекта и по-прежнему получаю такую ​​же ошибку, пожалуйста, сообщите, как я могу это исправить.

ОБНОВЛЕНИЕ: я узнал, что проблема в развертывании eclipse для jboss, так как я пытался установить приложение с помощью maven и скопировал войну в папку развертывания и запустил standalone.bat, и приложение было успешно запущено без ошибок.

Ответ 1

В Eclipse перейдите в "Свойства проекта" → "Границы проекта" → "Лица сервера Java" и установите тип Библиотека, предоставленная целевым временем выполнения.

Ответ 2

У меня была аналогичная проблема, когда мы перенесли наше приложение, убедитесь, что вы включили jsf jars в scope provided, как показано ниже:

<jsf.version>2.2.2</jsf.version>

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>${jsf.version}</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>${jsf.version}</version>
    <scope>provided</scope>
</dependency>

измените свой project facet (Project->Properties->Project Facets) и убедитесь, что ваш jsf соответствует правильному набору jar

Сделайте чистую сборку, надейтесь, что это решит проблему выше.

Ответ 3

У меня была такая же проблема, как и вы. Я решил это, удалив эту зависимость в моем pom.xml.

<dependency>
 <groupId>org.glassfish</groupId>
 <artifactId>javax.faces</artifactId>
 <version>2.2.0-m15</version>
</dependency>

Эта зависимость нужна только при развертывании на Tomcat, а не на Jboss.

Ответ 4

У меня была та же проблема. Вы должны будете использовать свои библиотеки проектов и удалить версию Jar Mojarra 2.2.x.

Ответ 5

В NetBeans вам необходимо снять флажок "Пакет" в библиотеке JSF в окне "Свойства проекта".

enter image description here

Ответ 6

У меня была такая же проблема, я решил изменить это Java-серверы, перейдите в правую кнопку мыши на свой проект и перейдите в "Свойства- > Границы проекта- > Лица сервера Java и измените
от: "Jsf 2.2 (Mojarra 2.2.0)"
в "Jsf 2.0 (Mojarra 2.0.3-FCS)"