【发布时间】:2015-04-13 01:13:46
【问题描述】:
使用 Wildfly 8.2.0.Final,我相信它使用 Weld 2.2,我在一个 Maven 多模块项目中用 2 个简单的类重现了这个问题。一个产生javax.ws.rs.client.Client,另一个有一个相同的注入点。 Arquillian 部署失败,WELD-001408: unsatisfied dependencies。
生产者位于一个库 jar 中,该库包含在消费者的 WEB-INF/lib 中。生产者在META-INF 和discovery-mode=annotation 中有一个beans.xml,消费者在WEB-INF 和discovery-mode=all 中有一个。
重现步骤:
下载this project,在根目录下运行mvn clean install。
这是一个严重的错误。有一些 other SO 帖子关于 Weld 不满足的依赖关系,但其中大部分是因为缺少 beans.xml。对于 CDI 1.2,beans.xml 是可选的,尽管我的示例确实有一对。有什么想法吗?
完全披露:也发布在 Weld 论坛255328
【问题讨论】:
-
我无法重现您的场景。我让消费者正确地获得了注入的客户端。另外,刚刚打印出注入的类型为:org.jboss.resteasy.client.jaxrs.ResteasyClient@6d13d9f7
-
@maress 演示项目有一个错误,我已修复,现在可以运行了。但是,有这个问题的真实项目仍然被打破。我正在尝试找出差异,如果有的话。
-
@maress 请在下面查看我的回答。