Gültiges Schema in beans.xml suchen

Wenn eine Datei beans.xml Decorators und Interceptors enthält, muss für eine ordnungsgemäße Instanziierung ein gültiges Schema verwendet werden. Der Namespace und die Schemapositionen in der Datei beans.xml müssen der Spezifikation für die zutreffende CDI-Version entsprechen.

Diese Regel scannt beans.xml Dateien, um zu sehen, ob der Namespace, der in der Datei xmlns Attribut entspricht der entsprechenden Schemastelle in der Datei schemaLocation Attribut.

Das folgende Beispiel zeigt eine gültige Datei beans.xml für die CDI Version 1.0-Spezifikation.


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

Das folgende Beispiel zeigt eine gültige Datei beans.xml für CDI Version 1.2-Spezifikation.


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

Wenn kein Namespace angegeben ist, markiert die Regel die Datei beans.xml nicht.

Der automatisierte Fix für diese Regel aktualisiert inkompatible Namensbereiche mit dem Wert, der dem angegebenen schemaLocationentspricht. Kopieren Sie die angepasste Konfiguration in die Builddatei Ihrer Anwendung, um die Fixautomatisierung zu aktivieren.

Wenn Sie beabsichtigen, die mit Java EE 7 bereitgestellte CDI Version 1.2 zu verwenden, finden Sie weitere Informationen unter Contexts and Dependency Injection 1.2 behavior changes.