Verificaţi pentru o schemă validă în beans.xml

Dacă un fişier beans.xml include decoratori sau interceptori, trebuie să fie folosită o schemă validă pentru instanţierea corectă. Spaţiu de nume şi locaţia din fişierul beans.xml trebuie să se potrivească cu specificaţia pentru versiunea CDI aplicabilă.

Această regulă scanează beans.xml fișiere pentru a vedea dacă spațiul de nume furnizat în fișierul xmlns atributul se potrivește cu locația corespunzătoare a schemei de pe schemaLocation atribut.

Exemplul următor arată un fişier valid beans.xml pentru specificaţia 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> 

Exemplul următor arată un fişier valid beans.xml pentru specificaţia 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>
 

Dacă nu este furnizat spaţiul de nume, regula nu semnalează fişierul beans.xml.

Fixul automat pentru această regulă actualizează namespace-urile incompatibile cu valoarea corespunzătoare pentru a specifica schemaLocation. Copiați configurația personalizată pe fișierul de build al aplicației pentru a activa automatizarea corectării.

Dacă aveţi în vedere utilizarea CDI 1.2 furnizat cu Java EE 7, vedeţi Contexts and Dependency Injection 1.2 behavior changes.