WELD-001408带有限定符的[DataSource]类型的不满意依赖关系

时间:2014-08-19 15:17:45

标签: eclipse java-ee jboss cdi

我在APP-A

中导致了以下错误信息
@Inject @CtcDB
private DataSource ds;

我使用与APP-B相同的模式,并没有抱怨此错误。 当我在按住ctrl键的同时将鼠标悬停在Eclipse的ds上时,我得到APP-B的以下上下文菜单

Open @Inject Bean Resource.ds
Open Declaration
Open Declared Type

但是在依赖性错误的APP-A中我只得到

Open Declaration
Open Declared Type

//除了限定符为APP-B的@CommitmentDB

外,Resources类基本上与b / n相同。
public class Resources {
  @Produces
  @Resource(mappedName="java:jboss/datasources/myjndids")
  @CtcDB
  private DataSource ds;

//和我的注释

@Qualifier
@Retention(RUNTIME)
@Target({ METHOD, FIELD, PARAMETER, TYPE })
public @interface CtcDB{

}

我知道CDI是活动的(我在WEB-INF中有一个beans.xml),因为我有一个包含一些可注入bean的POM依赖项。当使用ctr键悬停进行那些注射时,我得到了预期的上下文菜单(在两个应用程序中)

1 个答案:

答案 0 :(得分:0)

好的,我自己弄清楚了。在Resources类中,我的DataSource导入错误

import javax.activation.DataSource; \\instead of
import javax.sql.DataSource;

I must have clicked on the wrong Eclipse Quickfix and imported the wrong package.