In der auf OpenWebBeans basierenden Implementierung von Contexts and Dependency Injection (CDI) 1.0
kann eine Anwendung selbst dann erfolgreich gestartet werden, wenn nicht statische Felder mit der Annotation
@Produces in Session-Bean-Klassen deklariert sind, obwohl dieses Verhalten mit der Spezifikation
CDI 1.0 nicht konform ist.
In Weld-Implementierung von CDI 1.2 wird die Anwendung nicht gestartet und löst die folgende Ausnahme aus:
WELD-000096: Producer fields on session beans must be static. Field [{0}] declared on [{1}].
Sie können dieses Problem beheben, indem Sie den Producer-Feldern in Session-Beans den Modifikator "static" hinzufügen.
Diese Regel markiert nicht statische Felder mit der Annotation @Produces, die in Session-Bean-Klassen deklariert sind.
Die folgenden Elemente und Annotationen definieren eine Klasse als Session-Bean:
ejb-jar.xml Dateien ejb-jar.xml -Dateien ejb-jar.xml -Dateien@Singleton, @Stateless oder @Stateful in der KlassendeklarationEs gibt eine automatische Korrektur, um diese Probleme in der Anwendung zu beheben. Diese Korrektur kann durch Kopieren der benutzerdefinierte Konfiguration in die Build-Datei Ihrer Anwendung kopieren.
Weitere Informationen finden Sie in den folgenden Quellen: