2012-11-15 74 views
0

我在netbeans(netbeans的企业应用程序)中有标准的maven项目,有1个war,1个ejb和1个耳模块。我想用@Inject注入我的@Stateless从ejb到战争(REST类)使用它的接口。我加入的项目正确的文件夹一些beans.xml的文件,但IM仍然得到这个:在部署过程中发生为什么我无法在Glassfish上部署我的耳朵

错误:异常而加载的应用程序:WELD-001409与预选赛[类型[LogicBean]暧昧的依赖关系@默认]在注射点[[字段] @Inject private pl.edu.amu.wmi.kino.rk.rest.ReportRest.bean]。可能的依赖关系[[会话bean [带有限定符的类pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl [@Any @Default];本地接口是[LogicBean],会话bean [类别pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl带有限定符[@Any @Default];本地接口是[LogicBean]]]。有关更多详细信息,请参阅server.log。

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

+0

发布相关代码。试图帮助解决这类问题就像修理戴着烤箱手套的手表一样。 – BillR

回答

1

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

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

+0

我真的不知道我是否理解,但没有2个接口的实现,只有一个! – hexin

+0

这不是错误所说的。一个是pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl,另一个是pl.edu.amu.wmi.kino.rk.data.impl.LogicBeanImpl。某个地方有两次这样的课。 – LightGuard

+0

Oki,对不起,有两次这些豆子(在ear/lib和war/lib中),因为在战争中依赖ejb。我只是取消了耳朵并最终部署了战争。 – hexin

相关问题