错误java.lang.ClassNotFoundException:javax.enterprise.context.spi.context

错误java.lang.ClassNotFoundException:javax.enterprise.context.spi.context,java,apache,tomcat,icefaces,servletexception,Java,Apache,Tomcat,Icefaces,Servletexception,现在我正在使用以下命令: NetBeans 8.2 ApacheTomcat 8.0.53 JSF2.2 冰面4.3 都在Maven项目中(我想是3.6) 我试图用我已经创建的列表填充一个“ace:dataTable” 当我尝试在没有ace:dataTable的情况下运行“Principal.xhtml”时,页面会正常加载,但是如果我添加了ace:dataTable和我想要填充的值,它会显示错误“HTTP 500–内部服务器错误”,例外情况是“javax.servlet.ServletExc

现在我正在使用以下命令:

  • NetBeans 8.2
  • ApacheTomcat 8.0.53
  • JSF2.2
  • 冰面4.3
  • 都在Maven项目中(我想是3.6)
我试图用我已经创建的列表填充一个“ace:dataTable”

当我尝试在没有ace:dataTable的情况下运行“Principal.xhtml”时,页面会正常加载,但是如果我添加了ace:dataTable和我想要填充的值,它会显示错误“HTTP 500–内部服务器错误”,例外情况是“javax.servlet.ServletException:javax/enterprise/context/spi/context” javax.faces.webapp.FacesServlet.service(FacesServlet.java:683) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)”

下面是我在pom.xml中使用的依赖项

   <dependency>
            <groupId>org.icefaces</groupId>
            <artifactId>icefaces</artifactId>
            <version>4.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.icefaces</groupId>
            <artifactId>icefaces-ace</artifactId>
            <version>4.3.0</version>
        </dependency>

        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>


您的pom for cdi api中似乎缺少必需的依赖项:

<dependency>
    <groupId>javax.enterprise</groupId>
    <artifactId>cdi-api</artifactId>
    <version>1.2</version>
</dependency>

javax.enterprise
CDIAPI
1.2

最后,我需要添加CDIAPI依赖项,并且我必须手动将.jar添加到“WEB-INF/lib/”文件夹中

我添加了CDIAPI依赖项,但仍然相同。
import lista.model.PersonaModel;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import lista.beans.PersonaBean;

@ManagedBean()
@ViewScoped
public class PersonaController {

    private List<PersonaBean> listaPersonaBean;
    private PersonaModel model;

    public PersonaController() {
        consultarLista();
    }

    public void consultarLista() {
        this.listaPersonaBean = this.model.retornaLista();
    }

    public List<PersonaBean> getListaPersona() {
        return listaPersonaBean;
    }

}
excepción

javax.servlet.ServletException: javax/enterprise/context/spi/Contextual
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:683)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

causa raíz

java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:348)
    com.sun.faces.util.Util.loadClass(Util.java:333)
    com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:1847)
    com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:2019)
    com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1246)
    com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:588)
    com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:176)
    javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:135)
    javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:96)
    javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:161)
    com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
    javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:135)
    javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:96)
    com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:94)
    javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:96)
    com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:88)
    com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:162)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:381)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:102)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

<dependency>
    <groupId>javax.enterprise</groupId>
    <artifactId>cdi-api</artifactId>
    <version>1.2</version>
</dependency>