Spring引导中未识别javax.inject.inject bean

Spring引导中未识别javax.inject.inject bean,spring,spring-boot,cdi,Spring,Spring Boot,Cdi,我有一个外部依赖项(作为pom.xml中的依赖项添加),它在我的spring boot应用程序中使用CDI(javax.inject.inject)进行依赖项注入。我正在尝试Autowired一个CDI管理的bean,但没有运气 我一直在犯错误 没有类型为“”的符合条件的bean可用:至少需要1个符合autowire候选条件的bean。依赖项批注:{} 我尝试了ComponentScan来扫描CDI管理的bean,但也没有帮助 有人可以帮助Spring引导了解CDI管理的bean吗?您需要创建一

我有一个外部依赖项(作为pom.xml中的依赖项添加),它在我的spring boot应用程序中使用CDI
(javax.inject.inject)
进行依赖项注入。我正在尝试
Autowired
一个CDI管理的bean,但没有运气

我一直在犯错误

没有类型为“”的符合条件的bean可用:至少需要1个符合autowire候选条件的bean。依赖项批注:{}

我尝试了
ComponentScan
来扫描CDI管理的bean,但也没有帮助


有人可以帮助Spring引导了解CDI管理的bean吗?您需要创建一个Spring管理的bean实例

在Java代码中,您可以这样做(注意,这适用于任何类,即使它来自您不控制的第三方库):

或在XML中:

<beans>
    <bean id="myBean" class="abc.def.MyBean"/>
</beans>


现在您可以使用
@inject
或Spring的
@Autowired
注释来注入
MyBean

CDI bean不是Spring bean,因为它没有使用
@Component
注释(或任何其他Spring组件注释)。如果希望它是一个Springbean,那么需要显式地创建这种类型的bean@JBNizet是否可以像Spring文档所述那样使用
注释ConfigApplicationContext
。请检查Spring是否会在类内部接受Inject注释,但您仍然需要使它们成为Springbean。Spring不会仅仅因为找到了用Inject注释的字段或方法而创建bean。@JBNizet它是一个外部依赖项,我不能对此进行任何修改以使其成为Spring bean。我还有其他选择吗?当然可以:阅读我的第一条评论,在这里我链接到说明如何创建Springbean的文档,即使是对于一个不能更改的类。你需要点击链接。
<beans>
    <bean id="myBean" class="abc.def.MyBean"/>
</beans>