使用Wildfly 8.2.0.Final,我相信它使用Weld 2.2,我在Maven多模塊項目中使用2個簡單類複製了此問題。一個產生一個javax.ws.rs.client.Client
,另一個具有相同的注入點。 Arquillian部署失敗,出現WELD-001408
:未滿足的依賴關係。 生產者位於爲消費者包含在WEB-INF/lib
中的庫罐中。生產者在META-INF
與discovery-mode=annotation
有beans.xml
,消費者有WEB-INF
與discovery-mode=all
。Weld無法在庫jar中找到CDI生成器方法
重現步驟: 從根目錄下載this project並運行mvn clean install
。
這是一個嚴重的錯誤。有一些other關於焊接不滿意依賴關係的SO帖子,但其中大多數是因爲缺少beans.xml
。隨着CDI 1.2,beans.xml
是可選的,雖然我的例子確實有一些。有任何想法嗎?
披露:還張貼在焊接論壇255328
我無法重現您的方案。我讓消費者正確地獲取注入的客戶端。另外,只需將注入的類型打印出來即可: [email protected] – maress
@maress演示項目有一個錯誤,我修復了它,現在它正在工作。但是,有這個問題的真正項目仍然存在問題。我試圖找出差異,如果有的話。 –
@maress請參閱下面的答案。 –