beans.xml で有効なスキーマを検査する

beans.xml ファイルにデコレーターまたはインターセプターが含まれている場合は、適切なインスタンス化のために有効なスキーマを使用する必要があります。beans.xml ファイル内の名前空間およびスキーマ・ロケーションは、該当する CDI バージョンの仕様に合致している必要があります。

このルールは、beans.xmlファイルをスキャンして で指定された名前空間が xmlns 属性は の対応するスキーマの場所にマッチします。 schemaLocation 属性。

以下の例では、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 ファイルにフラグを立てません。

このルールの自動修正により、非互換の名前空間が、指定された schemaLocationに該当する値で更新されます。 カスタム構成をアプリケーション・ビルド・ファイルにコピーして、フィックスの自動化を有効にします。

Java EE 7 で提供される CDI 1.2 の使用を検討している場合は、 Contexts and Dependency Injection 1.2 での振る舞いの変更を参照してください。