如果 beans.xml 檔案包含裝飾字元或攔截程式,必須使用有效的綱目才能有正確的實例化。 beans.xml 檔案中的名稱空間和綱目位置必須符合適用的 CDI 版本的規格。
此規則掃描 beans.xml 檔案,以查看是否在 xmlns 屬性上提供了有效的名稱空間。如果名稱空間有效,此規則也會驗證 schemaLocation 屬性上的對應綱目位置是否正確。
下列範例顯示符合 CDI 1.0 規格的有效 beans.xml 檔案。
|
下列範例顯示符合 CDI 1.2 規格的有效 beans.xml 檔案。
|
如果提供的名稱空間不符合任一規格,當處理 beans.xml 檔案時,伺服器會擲出異常狀況。 您可以透過設定下列 JVM 內容來停用驗證:
org.jboss.weld.xml.disableValidating=true
如果未提供名稱空間,則此規則不標示 beans.xml 檔案。
此規則的自動修正程式會使用適用於指定 schemaLocation的值來更新不相容的名稱空間。 將自訂配置複製到應用程式建置檔,以啟用修正程式自動化。
如果您考慮使用隨 Java EE 7 一起提供的 CDI 1.2,請參閱 Contexts and Dependency Injection 1.2 行為變更。