我刚刚加入了一个Java项目,我们使用org.jboss.weld.manager.BeanManagerImpl作为我们的BeanManager。 我们有一个方法在需要时从其类创建bean:
public <T> T get(Class<T> clazz, Qualifier... qualifiers) {
Set<Bean<?>> beans = beanManager.getBeans(clazz, qualifiers); //problem here
logger.debug("found {} instances for {}", beans.size(), clazz);
Bean<?> bean = (Bean<?>) beans.iterator().next();
CreationalContext<?> ctx = beanManager.createCreationalContext(bean);
return clazz.cast(beanManager.getReference(bean, clazz, ctx));
}
它适用于所有其他开发人员,但不适合我。在第一行,结果是EmptyImmutableSetm,而对于其他DEV,找到bean。 我的项目设置有问题吗?我的同事试图帮助我,但我们无处可去。 beanManager在哪里寻找bean?可能存在类路径问题吗?