javax.faces.FacesException:Class org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例

javax.faces.FacesException:Class org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例,jsf,wildfly,mojarra,Jsf,Wildfly,Mojarra,我使用:Maven 3.3.1、JavaSE1.8、JavaServerFaces2.2、JPA2.0、Spring4.1.6、Hibernate4.3.2.Final和Wildfly。 我是J2EE新手,请给我详细的说明 我的堆栈跟踪: 09:52:31,461 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-4) Critical error during deploy

我使用:Maven 3.3.1、JavaSE1.8、JavaServerFaces2.2、JPA2.0、Spring4.1.6、Hibernate4.3.2.Final和Wildfly。 我是J2EE新手,请给我详细的说明

我的堆栈跟踪:

     09:52:31,461 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.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357) [javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:220) [javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:193) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
    Caused by: javax.faces.FacesException: Class org.jboss.as.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.spi.AnnotationProviderFactory.createAnnotationProvider(AnnotationProviderFactory.java:78) [javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
at com.sun.faces.config.ConfigManager$AnnotationScanTask.<init>(ConfigManager.java:752) [javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:330) [javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
... 10 more

    09:52:31,472 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./Ear_Project: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./Ear_Project: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
     Caused by: java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Class org.jboss.as.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:222)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
... 3 more
    Caused by: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Class org.jboss.as.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:287)
at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:193)
... 7 more
    Caused by: com.sun.faces.config.ConfigurationException:   CONFIGURATION FAILED! Class org.jboss.as.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:220)
... 9 more
    Caused by: javax.faces.FacesException: Class org.jboss.as.jsf.injection.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.spi.AnnotationProviderFactory.createAnnotationProvider(AnnotationProviderFactory.java:78)
at com.sun.faces.config.ConfigManager$AnnotationScanTask.<init>(ConfigManager.java:752)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:330)
... 10 more
09:52:31461严重[javax.enterprise.resource.webcontainer.jsf.config](MSC服务线程1-4)部署期间出现严重错误::com.sun.faces.config.ConfigurationException:配置失败!类org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357)[javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:220)[javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
在io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)[undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
位于io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:193)[undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.0_75]
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.0_75]
在java.lang.Thread.run(Thread.java:745)[rt.jar:1.7.0_75]
原因:javax.faces.FacesException:Class org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
在com.sun.faces.spi.AnnotationProviderFactory.createAnnotationProvider(AnnotationProviderFactory.java:78)[javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
在com.sun.faces.config.ConfigManager$annotationscanstask.(ConfigManager.java:752)[javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:330)[javax.faces-2.0.10.jar:2.0.10-SNAPSHOT]
... 10多
09:52:31472错误[org.jboss.msc.service.fail](msc服务线程1-4)MSC000001:无法启动服务jboss.undertow.deployment.default server.default host./Ear_项目:org.jboss.msc.service.StartException in service jboss.undertow.deployment.default server.default host./Ear_项目:无法启动服务
在org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.0_75]
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.0_75]
在java.lang.Thread.run(Thread.java:745)[rt.jar:1.7.0_75]
原因:java.lang.RuntimeException:java.lang.RuntimeException:com.sun.faces.config.ConfigurationException:配置失败!类org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
位于io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:222)
位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
位于org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
... 3个以上
原因:java.lang.RuntimeException:com.sun.faces.config.ConfigurationException:配置失败!类org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
在com.sun.faces.config.ConfigureListener.contextInitialized上(ConfigureListener.java:287)
位于io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)
位于io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:193)
... 还有7个
原因:com.sun.faces.config.ConfigurationException:配置失败!类org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357)上
在com.sun.faces.config.ConfigureListener.contextInitialized上(ConfigureListener.java:220)
... 9更多
原因:javax.faces.FacesException:Class org.jboss.as.jsf.injection.JandexAnnotationProvider不是com.sun.faces.spi.AnnotationProvider的实例
在com.sun.faces.spi.AnnotationProviderFactory.createAnnotationProvider(AnnotationProviderFactory.java:78)上
位于com.sun.faces.config.ConfigManager$AnnotationScanTask。(ConfigManager.java:752)
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:330)上
... 10多

JandexAnnotationProvider
实际上是从
AnnotationProvider
类扩展而来的,如果通过不同的类加载器加载这两个类,则可能会导致此错误

我认为您必须将
jsfapi-???.jar
jsf impl-???.jar
排除在应用程序部署的being之外。使用应用服务器提供的jsf库

要使用maven实现它,只需在
pom.xml

JandexAnnotationPro中将
提供的
设置为
JSFAPI
jsf impl
依赖项