我正在尝试APM MoSKito并尝试部署将映射到[context]/mui/*
的嵌入式Web UI,其中将显示MoSKito界面。
问题是我在部署app时遇到以下错误:
CDI定义失败:WELD-001476:拦截器[类 net.anotheria.moskito.integration.cdi.CountInterceptor拦截 @Count]必须是@Dependent
拦截器在beans.xml
:
<interceptors>
<class>net.anotheria.moskito.integration.cdi.CountInterceptor</class>
<class>net.anotheria.moskito.integration.cdi.CallInterceptor</class>
</interceptors>
但由于我无法修改此APM的Maven存储库,我无法真正使这些类使用@Dependent
注释,所以我真的不明白这个问题,我真的会对救命。谢谢!
答案 0 :(得分:1)
问题是版本低于2.7.0的MoSKito在其拦截器上有@Singleton
注释。这不会通过Weld验证(拦截器必须是@Dependent
bean)并导致描述的异常。
因此,解决方案是将框架升级到2.7.0 +。因此,需要更新beans.xml
,因为拦截器的包名也会发生变化。