在 Contexts and Dependency Injection (CDI) 1.0 OpenWebBeans 實作中,即使在階段作業 Bean 類別中宣告了具有 @Produces 註釋的非靜態欄位(儘管該行為不符合 CDI 1.0 規格),應用程式仍可順利啟動。
在 CDI 1.2 Weld 實作中,應用程式不會啟動,並且會擲出下列異常狀況:
WELD-000096: 階段作業 Bean 中的 Producer 欄位必須為靜態。 已在 [{1}] 中宣告欄位 [{0}]。
將靜態修飾元新增至階段作業 Bean 中的 Producer 欄位,即可解決此問題。
此規則會標示在階段作業 Bean 類別中宣告了 @Produces 註釋的非靜態欄位。
下列元素及註釋會將類別定義為階段作業 Bean:
ejb-jar.xml 檔案中的 <session> 元素 ejb-jar.xml 檔案中的 <session> 元素 ejb-jar.xml 檔案中的 <session> 元素@Singleton、@Stateless 或 @Stateful 註釋有自動修復程式可解決應用程式中的這些問題。 此修正可透過複製 自訂組態複製到您的應用程式建立檔案中。
如需相關資訊,請參閱下列資源: