JBoss Weld @Any Instance找不到所有实例

时间:2013-12-09 16:11:03

标签: java gwt jboss dependency-injection jboss-weld

我在向项目注入依赖项时遇到了一些问题。在我的例子中,我有一些带有一些专门的GWT处理程序的WAR文件,以及带有调度程序类的jar(调度程序+常用:操作,处理程序,结果)。在这个jar中我尝试扫描所有处理程序并自动注册它们:

@Inject
private void init(@Any Instance<ActionHandler<?, ?>> handlers) {
    ...
        InstanceActionHandlerRegistry registry = new DefaultActionHandlerRegistry();
        for (ActionHandler<?, ?> handler : handlers) {
            registry.addHandler(handler);
        }
    ...
}

问题是来自jar的所有处理程序都已注册,但来自WAR的处理程序不是。 jar和war文件都有beans.xml文件。有谁知道我应该做些什么来强制查找所有处理程序实例 - 不仅列在库jar文件中?

1 个答案:

答案 0 :(得分:0)

原因是WAR文件没有部署处理程序所需的某些库。项目已成功编译并成功部署,没有任何错误/警告。这是非常简单的原因,但是如果Weld没有报告问题 - 很难找到问题的根源。 (我想可以在Weld的某个地方设置更好的问题报告水平)