Jboss 6-启用CDI的bean部署失败



在站点CDI sample中创建了一个带有CDI的示例项目,但在Jboss 6中尝试部署它时,出现以下错误。是否需要包含任何其他lib文件来解决此问题?

 Lib jars:
 javaee-api-7.0.jar
 javax.inject-1.jar

Deployment Error: 2015-02-12 12:25:21,852 INFO [org.jboss.ejb3.deployers.JBossASKernel] (WorkerThread#0[192.168.10.119:61928]) and supplies: 2015-02-12 12:25:21,852 INFO [org.jboss.ejb3.deployers.JBossASKernel] (WorkerThread#0[192.168.10.119:61928]) jndi:HelloObserver 2015-02-12 12:25:21,852 INFO [org.jboss.ejb3.deployers.JBossASKernel] (WorkerThread#0[192.168.10.119:61928]) Added bean(jboss.j2ee:ear=J2eeObserver.ear,jar=J2eeObserver-ejb.jar,name=HelloObserver,service=EJB3) to KernelDeployment of: J2eeObserver-ejb.jar 2015-02-12 12:25:22,048 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (WorkerThread#0[192.168.10.119:61928]) Error installing to Create: name=vfs:///E:/jboss-6.1.0.Final/server/default/deploy/J2eeObserver.ear_WeldBootstrapBean state=Configured: java.lang.NullPointerException at org.jboss.weld.util.ApiAbstraction.annotationTypeForName(ApiAbstraction.java:86) [:6.1.0.Final] at org.jboss.weld.ejb.EJBApiAbstraction.<init>(EJBApiAbstraction.java:36) [:6.1.0.Final] at org.jboss.weld.bootstrap.BeanDeployment.<init>(BeanDeployment.java:100) [:6.1.0.Final] at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:185) [:6.1.0.Final] at org.jboss.weld.bootstrap.WeldBootstrap$DeploymentVisitor.visit(WeldBootstrap.java:197) [:6.1.0.Final] ......

2015-02-12 12:25:22,074 WARN [org.jboss.profileservice.management.upload.remoting.DeployHandler] (WorkerThread#0[192.168.10.119:61928]) Failed to complete command: [start] for deployment: names=[J2eeObserver.ear]: org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS MISSING DEPENDENCIES: Deployment "jboss-injector:topLevelUnit=J2eeObserver.ear,unit=J2eeObserver-ejb.jar,bean=HelloObserver,interceptor=org.jboss.weld.integration.ejb.SessionBeanInterceptor" is missing the following dependencies: Dependency "<UNKNOWN jboss-injector:topLevelUnit=J2eeObserver.ear,unit=J2eeObserver-ejb.jar,bean=HelloObserver,interceptor=org.jboss.weld.integration.ejb.SessionBeanInterceptor>" (should be in state "Installed", but is actually in state "** UNRESOLVED Demands 'jboss-switchboard:appName=J2eeObserver,module=J2eeObserver-ejb,name=HelloObserver' **")

我想你使用的是JBoss EAP6而不是JBoss AS6(EAP6对应的社区版本是JBossAS7.1.1)。所以你的编程模型是Java EE 6而不是7。因此,您应该使用java-ee-6.jar进行编译,但不要将其包含在部署中:服务器提供了它。您不需要注入lib。

使用paramter启动Jboss AS 6时,问题已解决run -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true

相关内容

最新更新