Esta regla señala las clases que se anotan con las anotaciones @Specializes y @Alternative.
Si una clase de otro módulo hace referencia a la clase, la clase no se inyecta en el otro módulo a menos que se liste
como <alternative> en el META-INF/beans.xml del otro módulo.
En el ejemplo siguiente, la clase AltClass3 se lista en el archivo jar2/META-INF/beans.xml
como <alternative>. La clase no se lista como <alternative> en el archivo jar1/META-INF/beans.xml.
|
En la implementación de Contexts and Dependency Injection (CDI) 1.0,
Class2 se inyecta y se utiliza como productor para Class1.foo.
En la implementación de CDI 1.2, Class2 no se inyecta y la aplicación no se inicia,
indicando que no se puede encontrar ningún productor para Class1.foo.
Puede resolver el problema de dos formas:
@Specializes de AltClass3AltClass3 como <alternative> en el archivo
jar1/META-INF/beans.xmlPara obtener más información sobre la implementación de Java Platform, Enterprise Edition (Java EE) 7 CDI 1.2, consulte Cambios de comportamiento de Contexts and Dependency Injection 1.2.