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 durchsucht Dateien beans.xml, um zu überprüfen, ob ein gültiger Namespace im Attribut xmlns angegeben ist. Wenn der Namespace gültig ist, überprüft die Regel auch, ob die entsprechende Schemaposition im Attribut schemaLocation korrekt ist.

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 ein Namespace angegeben ist, dieser aber mit keiner der beiden Spezifikationen übereinstimmt, löst der Server während der Verarbeitung der Datei beans.xml eine Ausnahme aus.c Sie können die Validierung inaktivieren, indem Sie die folgende JVM-Eigenschaft konfigurieren:

		
	org.jboss.weld.xml.disableValidating=true

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.