Проверьте допустимое пространство имен в 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.