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.