@Inject& CDI ::部署错误跨多个maven项目的限定符

时间:2014-12-01 13:14:25

标签: cdi

我有CDI的特殊问题。应用程序部署在glassFish 3.0.1

方案如下

Maven proj1 ::我的jax-rs代码具有EJB(通过接口)注入以及限定符

class A_jaxrs{

@Inject @Demo
  DemoManager demoManager;

}

Maven proj2 ::所有接口都在project2中与限定符

一起定义
class interface DemoManager{
}

@Qualifier
public @interface Demo{
}

Maven proj3 ::无状态bean已定义

@Demo
@Stateless
class DemoManagerBean implements DemoManager{

@Override
public void demoString() {
    System.out.println("Year 2014");
}

}

Empty beans.xml包含在所有项目中 所有项目(作为罐子)都包装在耳朵里

但我的耳朵部署因注射失败而失败.....

Netbeans还报告了注入点不满意的依赖性错误

有任何帮助吗?但是,相同的方案适用于@Ejb(" ...")

1 个答案:

答案 0 :(得分:0)

首先,为什么要使用旧版的Glassfish?它有很多错误。你能不能使用最近的一个?喜欢4.0?

其次你的限定符注释是错误的,它应该是:

@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
public @interface Demo{
}