2016-11-17 32 views
0

我試用APM MoSKito並試圖部署將映射到[context]/mui/*的MoSKito界面將顯示的嵌入式Web UI。CDI定義失敗:WELD-001476:Interceptor [class]必須依賴

的問題是,我在部署應用程序時出現以下錯誤:

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註釋,所以我不太瞭解這個問題,我真的會讚賞一些幫助。謝謝!

+1

下次請使用更好的標籤。我重申了(完全!!!)你的問題 – Kukeltje

+0

我還沒有看到問題,只是想從莫斯基託的角度來補充說,所有的看起來都不錯。攔截器類實際上都是'@ Dependent'(默認情況下CDI添加這個註釋,如果你不選擇其他的話)。你自己對這些攔截器做些特別的事嗎?喜歡在它們上面建立一些東西? – Siliarus

+0

@Siliarus,在MosKito文檔中並沒有真正遵循一步一步的指導。 –

回答

1

問題是MoSKito在版本低於2.7.0的攔截器上有@Singleton註釋。這不會通過焊接驗證(攔截器必須是@Dependent beans)並導致描述的異常。

因此,解決方案是將框架升級到2.7.0 +。因此,需要更新到beans.xml,因爲攔截器的軟件包名稱也發生了變化。