我在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键悬停进行那些注射时,我得到了预期的上下文菜单(在两个应用程序中)
答案 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.