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.
Die automatische Korrektur für diese Regel aktualisiert inkompatible Namespaces mit dem Wert, der dem angegebenen schemaLocation. 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.