2012-11-15 75 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

相關問題