Java 如何在EJB3中调用来自不同jar的CDI注入

Java 如何在EJB3中调用来自不同jar的CDI注入,java,jakarta-ee,glassfish,cdi,ejb-3.1,Java,Jakarta Ee,Glassfish,Cdi,Ejb 3.1,如何在EJB3容器(jar1)中调用来自不同jar(jar2)的CDI注入 当我尝试在Glassfish 4.1上部署应用程序时,我收到以下错误消息: Exception during lifecycle processing org.glassfish.deployment.common.DeploymentException: CDI deployment failure:WELD-001408: Unsatisfied dependencies for type **** with qua

如何在EJB3容器(jar1)中调用来自不同jar(jar2)的CDI注入

当我尝试在Glassfish 4.1上部署应用程序时,我收到以下错误消息:

Exception during lifecycle processing org.glassfish.deployment.common.DeploymentException: CDI deployment failure:WELD-001408: Unsatisfied dependencies for type **** with qualifiers @Default at injection point [BackedAnnotatedField] @Inject private **** at .... 生命周期处理期间的异常 org.glassfish.deployment.common.DeploymentException:CDI部署失败:WELD-001408:带限定符@Default的****类型的未满足依赖项 在注入点[BackedAnnotatedField]@Inject private**** 在
当我在EJB(jar1)中放入一个CDI pojo(jar1)并尝试在EJB中调用它时,它就会工作。同样,当我尝试从非EJB容器(jar3)中的(jar2)调用CDI pojo时,

您的所有JAR中都有beans.xml吗?是的,我在所有JAR中都有一个beans.xml基于您正在使用glassfish 4.1.1的事实,您可能正在使用CDI 1.2,在这种情况下,如果您有beans.xml,指定版本1.2,如果CDIBean扫描在beans.xml中被指定为带注释的,请确保bean被注释。在j2ee 7中,您不必定义空的bean.xml。我尝试使用bean.xml和不使用bean.xml。我创建了一个我尝试在wildfly上安装的示例!它可以工作,但在glassfish 4.1上不起作用