我有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(" ...")
答案 0 :(得分:0)
首先,为什么要使用旧版的Glassfish?它有很多错误。你能不能使用最近的一个?喜欢4.0?
其次你的限定符注释是错误的,它应该是:
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
public @interface Demo{
}