为什么我不能在Glassfish上部署我的耳朵

时间:2012-11-15 22:54:59

标签: maven dependency-injection java-ee-6 glassfish-3 cdi

我在netbeans(netbeans的企业应用程序)中有标准的maven项目,它有1个war,1个ejb和1个ear模块。我想使用它的接口向@Inject注入来自ejb的@Stateless到war(REST类)。我在项目的正确文件夹中添加了一些beans.xml文件,但我仍然得到这个:

部署期间发生错误:加载应用程序时出现异常:WELD-001409类型[LogicBean]的不明确依赖关系,注入点带有限定符[@Default] [[field] @Inject private pl.edu.amu.wmi .kino.rk.rest.ReportRest.bean。可能的依赖[[Session bean [class pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl with qualifiers [@Any @Default];本地接口是[LogicBean],会话bean [类pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl,带限定符[@Any @Default];本地接口是[LogicBean]]]。有关更多详细信息,请参阅server.log。

我做错了什么?我搜索了整个互联网,但找不到解决方案。 我知道这是可能的,因为我与这样的员工一起工作。 THX任何帮助:)

1 个答案:

答案 0 :(得分:1)

你正在编写接口,这很好,但你有两个具有相同限定符的接口的实现(在这种情况下是默认的)。如果不使用限定符来消除您想要注入的内容,CDI就不知道给您哪一个。

我建议创建一个@Rest限定符(或一个EJB)并注释该类,并使用您想要的实例注释注入点。