Проверьте допустимое пространство имен в beans.xml

Если файл beans.xml включает декораторы или перехватчики, то для правильного создания экземпляра необходимо использовать корректную схему. Пространство имен в beans.xml файл должен соответствовать спецификации соответствующей версии CDI.

Это правило сканирует beans.xml файлы, чтобы проверить, предоставлено ли допустимое пространство имен в xmlns атрибут.

Ниже приведен пример допустимого файла beans.xml для спецификации CDI 1.0.


<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> 

Ниже приведен пример допустимого файла beans.xml для спецификации CDI 1.2.


<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.

Если вы планируете использовать технологию CDI 1.2, предоставляемую в Java EE 7, обратитесь к документу Изменение принципов работы Contexts and Dependency Injection 1.2.