如果 beans.xml 檔案包含裝飾字元或攔截程式,必須使用有效的綱目才能有正確的實例化。 中的命名空間beans.xml文件必須符合適用的 CDI 版本的規範。
此規則掃描beans.xml文件來查看是否提供了有效的命名空間 xmlns 屬性。
下列範例顯示符合 CDI 1.0 規格的有效 beans.xml 檔案。
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
下列範例顯示符合 CDI 1.2 規格的有效 beans.xml 檔案。
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all" version="1.1">
</beans>
如果提供的名稱空間不符合任一規格,當處理 beans.xml 檔案時,伺服器會擲出異常狀況。 您可以透過設定下列 JVM 內容來停用驗證:
org.jboss.weld.xml.disableValidating=true
如果未提供名稱空間,則此規則不標示 beans.xml 檔案。
如果您考慮使用隨 Java EE 7 一起提供的 CDI 1.2,請參閱環境定義和相依關係注入 1.2 行為變更。